]>
Commit | Line | Data |
---|---|---|
778636d4 | 1 | #ifndef _ALINANOAODTRACKMAPPING_H_ |
2 | #define _ALINANOAODTRACKMAPPING_H_ | |
3 | ||
4 | #include "TObject.h" | |
5 | #include "TFile.h" | |
6 | #include "AliLog.h" | |
7 | #include "TSystem.h" | |
8 | #include "TTree.h" | |
9 | #include "TDirectory.h" | |
10 | ||
11 | class AliNanoAODTrackMapping : public TObject | |
12 | { | |
13 | public: | |
14 | AliNanoAODTrackMapping(); | |
15 | AliNanoAODTrackMapping(const char * mappingString); | |
16 | virtual ~AliNanoAODTrackMapping(){;} | |
17 | ||
18 | void Print(const Option_t * opt = "") const; | |
19 | ||
20 | static AliNanoAODTrackMapping * GetInstance() { | |
21 | if(!fInstance) LoadInstance() ; | |
22 | return fInstance; | |
23 | } | |
24 | ||
25 | ||
26 | const char * GetVarName(Int_t index) const; | |
27 | Int_t GetVarIndex(TString varName); // cannot be const (uses stl map) | |
28 | ||
29 | //TODO: implement custom variables | |
30 | ||
31 | // Getters | |
32 | // Internal | |
33 | Int_t GetSize() const { return fSize; } | |
34 | // Kin vars | |
35 | Int_t GetPt() const { return fPt; } | |
36 | Int_t GetPhi() const { return fPhi; } | |
37 | Int_t GetTheta() const { return fTheta; } | |
38 | Int_t GetChi2PerNDF() const { return fChi2PerNDF; } | |
39 | Int_t GetPosX() const { return fPosX; } | |
40 | Int_t GetPosY() const { return fPosY; } | |
41 | Int_t GetPosZ() const { return fPosZ; } | |
42 | Int_t GetPDCAX() const { return fPDCAX; } | |
43 | Int_t GetPDCAY() const { return fPDCAY; } | |
44 | Int_t GetPDCAZ() const { return fPDCAZ; } | |
45 | Int_t GetPosDCAx() const { return fPosDCAx; } | |
46 | Int_t GetPosDCAy() const { return fPosDCAy; } | |
47 | Int_t GetRAtAbsorberEnd() const { return fRAtAbsorberEnd; } | |
48 | Int_t GetTPCncls() const { return fTPCncls; } | |
49 | Int_t Getid() const { return fid; } | |
50 | Int_t GetTPCnclsF() const { return fTPCnclsF; } | |
51 | Int_t GetTPCNCrossedRows() const { return fTPCNCrossedRows; } | |
52 | Int_t GetTrackPhiOnEMCal() const { return fTrackPhiOnEMCal; } | |
53 | Int_t GetTrackEtaOnEMCal() const { return fTrackEtaOnEMCal; } | |
54 | Int_t GetTrackPtOnEMCal() const { return fTrackPtOnEMCal; } | |
55 | Int_t GetITSsignal() const { return fITSsignal; } | |
56 | Int_t GetTPCsignal() const { return fTPCsignal; } | |
57 | Int_t GetTPCsignalTuned() const { return fTPCsignalTuned; } | |
58 | Int_t GetTPCsignalN() const { return fTPCsignalN; } | |
59 | Int_t GetTPCmomentum() const { return fTPCmomentum; } | |
60 | Int_t GetTPCTgl() const { return fTPCTgl; } | |
61 | Int_t GetTOFsignal() const { return fTOFsignal; } | |
62 | Int_t GetintegratedLenght() const { return fintegratedLenght; } | |
63 | Int_t GetTOFsignalTuned() const { return fTOFsignalTuned; } | |
64 | Int_t GetHMPIDsignal() const { return fHMPIDsignal; } | |
65 | Int_t GetHMPIDoccupancy() const { return fHMPIDoccupancy; } | |
66 | Int_t GetTRDsignal() const { return fTRDsignal; } | |
67 | Int_t GetTRDChi2() const { return fTRDChi2; } | |
68 | Int_t GetTRDnSlices() const { return fTRDnSlices; } | |
69 | Int_t Getcovmat() const { return fcovmat; } | |
70 | ||
71 | // TODO: implement custom variables | |
72 | ||
73 | ||
74 | private: | |
75 | ||
76 | static void LoadInstance() ; | |
77 | ||
78 | Int_t fSize; // Number of variables actually allocated | |
79 | void SetSize (Int_t var) { fSize = var;} | |
80 | // FIXME: should this be static? | |
81 | Int_t fPt; // Mapping variable | |
82 | Int_t fPhi; // Mapping variable | |
83 | Int_t fTheta; // Mapping variable | |
84 | Int_t fChi2PerNDF; // Mapping variable | |
85 | Int_t fPosX; // Mapping variable | |
86 | Int_t fPosY; // Mapping variable | |
87 | Int_t fPosZ; // Mapping variable | |
88 | Int_t fPDCAX; // Mapping variable | |
89 | Int_t fPDCAY; // Mapping variable | |
90 | Int_t fPDCAZ; // Mapping variable | |
91 | Int_t fPosDCAx; // Mapping variable | |
92 | Int_t fPosDCAy; // Mapping variable | |
93 | Int_t fRAtAbsorberEnd; // Mapping variable | |
94 | Int_t fTPCncls; // Mapping variable | |
95 | Int_t fid; // Mapping variable | |
96 | Int_t fTPCnclsF; // Mapping variable | |
97 | Int_t fTPCNCrossedRows; // Mapping variable | |
98 | Int_t fTrackPhiOnEMCal; // Mapping variable | |
99 | Int_t fTrackEtaOnEMCal; // Mapping variable | |
100 | Int_t fTrackPtOnEMCal; // Mapping variable | |
101 | Int_t fITSsignal; // Mapping variable | |
102 | Int_t fTPCsignal; // Mapping variable | |
103 | Int_t fTPCsignalTuned; // Mapping variable | |
104 | Int_t fTPCsignalN; // Mapping variable | |
105 | Int_t fTPCmomentum; // Mapping variable | |
106 | Int_t fTPCTgl; // Mapping variable | |
107 | Int_t fTOFsignal; // Mapping variable | |
108 | Int_t fintegratedLenght;// Mapping variable | |
109 | Int_t fTOFsignalTuned; // Mapping variable | |
110 | Int_t fHMPIDsignal; // Mapping variable | |
111 | Int_t fHMPIDoccupancy; // Mapping variable | |
112 | Int_t fTRDsignal; // Mapping variable | |
113 | Int_t fTRDChi2; // Mapping variable | |
114 | Int_t fTRDnSlices; // Mapping variable | |
115 | Int_t fcovmat; // Mapping variable | |
116 | ||
117 | // Setters are private because we don't want the mapping to change once the class has been instantiated | |
118 | void SetPt (Int_t var) { fPt = var; } | |
119 | void SetPhi (Int_t var) { fPhi = var; } | |
120 | void SetTheta (Int_t var) { fTheta = var; } | |
121 | void SetChi2PerNDF (Int_t var) { fChi2PerNDF = var; } | |
122 | void SetPosX (Int_t var) { fPosX = var; } | |
123 | void SetPosY (Int_t var) { fPosY = var; } | |
124 | void SetPosZ (Int_t var) { fPosZ = var; } | |
125 | void SetPDCAX (Int_t var) { fPDCAX = var; } | |
126 | void SetPDCAY (Int_t var) { fPDCAY = var; } | |
127 | void SetPDCAZ (Int_t var) { fPDCAZ = var; } | |
128 | void SetPosDCAx (Int_t var) { fPosDCAx = var; } | |
129 | void SetPosDCAy (Int_t var) { fPosDCAy = var; } | |
130 | void SetRAtAbsorberEnd (Int_t var) { fRAtAbsorberEnd = var; } | |
131 | void SetTPCncls (Int_t var) { fTPCncls = var; } | |
132 | void Setid (Int_t var) { fid = var; } | |
133 | void SetTPCnclsF (Int_t var) { fTPCnclsF = var; } | |
134 | void SetTPCNCrossedRows (Int_t var) { fTPCNCrossedRows = var; } | |
135 | void SetTrackPhiOnEMCal (Int_t var) { fTrackPhiOnEMCal = var; } | |
136 | void SetTrackEtaOnEMCal (Int_t var) { fTrackEtaOnEMCal = var; } | |
137 | void SetTrackPtOnEMCal (Int_t var) { fTrackPtOnEMCal = var; } | |
138 | void SetITSsignal (Int_t var) { fITSsignal = var; } | |
139 | void SetTPCsignal (Int_t var) { fTPCsignal = var; } | |
140 | void SetTPCsignalTuned (Int_t var) { fTPCsignalTuned = var; } | |
141 | void SetTPCsignalN (Int_t var) { fTPCsignalN = var; } | |
142 | void SetTPCmomentum (Int_t var) { fTPCmomentum = var; } | |
143 | void SetTPCTgl (Int_t var) { fTPCTgl = var; } | |
144 | void SetTOFsignal (Int_t var) { fTOFsignal = var; } | |
145 | void SetintegratedLenght (Int_t var) { fintegratedLenght = var; } | |
146 | void SetTOFsignalTuned (Int_t var) { fTOFsignalTuned = var; } | |
147 | void SetHMPIDsignal (Int_t var) { fHMPIDsignal = var; } | |
148 | void SetHMPIDoccupancy (Int_t var) { fHMPIDoccupancy = var; } | |
149 | void SetTRDsignal (Int_t var) { fTRDsignal = var; } | |
150 | void SetTRDChi2 (Int_t var) { fTRDChi2 = var; } | |
151 | void SetTRDnSlices (Int_t var) { fTRDnSlices = var; } | |
152 | void Setcovmat (Int_t var) { fcovmat = var; } | |
153 | ||
154 | static AliNanoAODTrackMapping * fInstance; //instance, needed for the singleton implementation | |
155 | static TString fMappingString; // the string which this class was initialized with | |
cfd24ec2 | 156 | std::map<TString,int> fMapCstVar;// Map of indexes of custom variables: CACHE THIS TO CONST INTs IN YOUR TASK TO AVOID CONTINUOUS STRING COMPARISONS |
778636d4 | 157 | ClassDef(AliNanoAODTrackMapping, 1) |
158 | ||
159 | }; | |
160 | ||
161 | #endif /* _ALINANOAODTRACKMAPPING_H_ */ |