Project
Loading...
Searching...
No Matches
AlignableDetectorTRD.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
16
17#ifndef ALIGNABLEDETECTORTRD_H
18#define ALIGNABLEDETECTORTRD_H
19
21#include "TRDBase/RecoParam.h"
22
23namespace o2
24{
25namespace align
26{
27
29{
30 public:
31 //
32 enum { CalibNRCCorrDzDtgl, // correction parameter for NonRC tracklets
33 CalibDVT, // global correction to Vdrift*t
34 NCalibParams }; // calibration parameters
35 //
36 AlignableDetectorTRD() = default; // RS FIXME do we need default c-tor?
38 ~AlignableDetectorTRD() final = default;
39 void defineVolumes() final;
40 void Print(const Option_t* opt = "") const final;
41 const char* getCalibDOFName(int i) const final;
42 //
43 void writePedeInfo(FILE* parOut, const Option_t* opt = "") const final;
44 void writeLabeledPedeResults(FILE* parOut) const final;
45 //
46 void setNonRCCorrDzDtgl(double v = 0.) { mNonRCCorrDzDtgl = v; }
47 double getNonRCCorrDzDtgl() const { return mNonRCCorrDzDtgl; }
49 //
50 void setCorrDVT(double v = 0) { mCorrDVT = 0; }
51 double getCorrDVT() const { return mCorrDVT; }
52 double getCorrDVTWithCal() const { return getCorrDVT() + getParVal(CalibDVT); }
53 //
54 double getCalibDOFVal(int id) const final;
55 double getCalibDOFValWithCal(int id) const final;
56 //
57 const double* getExtraErrRC() const { return mExtraErrRC; }
58 void setExtraErrRC(double y = 0.2, double z = 1.0)
59 {
60 mExtraErrRC[0] = y;
61 mExtraErrRC[1] = z;
62 }
63
64 int processPoints(GIndex gid, int npntCut, bool inv) final;
65
66 protected:
67 o2::trd::RecoParam mRecoParam; // parameters required for TRD reconstruction
68 double mNonRCCorrDzDtgl = 0.; // correction in Z for non-crossing tracklets
69 double mCorrDVT = 0.; // correction to Vdrift*t
70 double mExtraErrRC[2] = {0., 0.}; // extra errors for RC tracklets
71 //
72 static const char* CalibDOFName[NCalibParams];
73 //
75};
76} // namespace align
77} // namespace o2
78#endif
Base class for detector: wrapper for set of volumes.
int32_t i
Error parameterizations and helper functions for TRD reconstruction.
void writePedeInfo(FILE *parOut, const Option_t *opt="") const final
void writeLabeledPedeResults(FILE *parOut) const final
~AlignableDetectorTRD() final=default
const char * getCalibDOFName(int i) const final
double getCalibDOFVal(int id) const final
int processPoints(GIndex gid, int npntCut, bool inv) final
ClassDef(AlignableDetectorTRD, 1)
double getCalibDOFValWithCal(int id) const final
void Print(const Option_t *opt="") const final
void setExtraErrRC(double y=0.2, double z=1.0)
static const char * CalibDOFName[NCalibParams]
float getParVal(int par) const
Definition DOFSet.h:39
const GLdouble * v
Definition glcorearb.h:832
GLint y
Definition glcorearb.h:270
GLdouble GLdouble GLdouble z
Definition glcorearb.h:843
void align(gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...