]>
Commit | Line | Data |
---|---|---|
ece56eb9 | 1 | #ifndef ALIMUONTRACKERQADATAMAKERREC_H |
2 | #define ALIMUONTRACKERQADATAMAKERREC_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | // $Id: AliMUONTrackerQADataMakerRec.h 35760 2009-10-21 21:45:42Z ivana $ | |
7 | ||
8 | /// \ingroup rec | |
9 | /// \class AliMUONTrackerQADataMakerRec | |
10 | /// \brief MUON Quality assurance data maker | |
11 | /// | |
12 | ||
13 | // --- AliRoot header files --- | |
14 | #include "AliMUONVQADataMakerRec.h" | |
15 | #include "AliMUONRecoParam.h" | |
16 | ||
17 | class AliMUONDigitMaker; | |
18 | class AliMUONVClusterStore; | |
19 | class AliMUONVDigitStore; | |
20 | class AliMUONVStore; | |
21 | class AliMUONVTrackerData; | |
22 | class AliMUONVTrackerDataMaker; | |
23 | class AliMUONCalibrationData; | |
24 | class AliMUONQAMappingCheck; | |
25 | ||
26 | class AliMUONTrackerQADataMakerRec: public AliMUONVQADataMakerRec { | |
27 | ||
28 | public: | |
29 | AliMUONTrackerQADataMakerRec(AliQADataMakerRec* master); | |
30 | virtual ~AliMUONTrackerQADataMakerRec(); | |
31 | ||
32 | AliMUONVTrackerData* GetTrackerData() const; | |
33 | ||
34 | virtual void InitDigits(); | |
35 | virtual void InitESDs(); | |
36 | virtual void InitRaws(); | |
37 | virtual void InitRecPoints(); | |
38 | ||
39 | void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list); | |
40 | void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list); | |
41 | void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list); | |
3e1866ad | 42 | |
43 | /// Empty implementation | |
ece56eb9 | 44 | void EndOfDetectorCycleDigits(Int_t, TObjArray**) {} |
45 | ||
46 | virtual void MakeDigits(TTree* dig); | |
47 | virtual void MakeESDs(AliESDEvent* esd) ; | |
48 | virtual void MakeRaws(AliRawReader* rawReader); | |
49 | virtual void MakeRecPoints(TTree* recpo); | |
50 | ||
51 | public: | |
52 | ||
53 | /// Raw histograms indices | |
54 | enum ERaw { | |
55 | kTrackerData = 3, ///< Accumulated data | |
56 | kTrackerBusPatchOccupancy = 4, ///< Bus patch occupancies | |
57 | kTrackerBusPatchNofPads = 5, ///< Number of pads per bus patch | |
58 | kTrackerBusPatchNofManus = 6, ///< Number of manus per bus patch | |
ffaafee5 | 59 | kTrackerBusPatchConfig = 7 ///< Configuration of the tracker |
ece56eb9 | 60 | }; |
61 | ||
62 | /// Rec points histograms indices | |
63 | enum ERecPoints { | |
64 | kTrackerNumberOfClustersPerChamber = 100, ///< Tracker: number of clusters per chamber | |
65 | kTrackerClusterMultiplicityPerChMean = 101, ///< cluster size per Ch: mean | |
66 | kTrackerClusterMultiplicityPerChSigma = 102, ///< cluster size per Ch: dispersion | |
67 | kTrackerClusterChargePerChMean = 103, ///< cluster charge per Ch: mean | |
68 | kTrackerClusterChargePerChSigma = 104, ///< cluster charge per Ch: dispersion | |
69 | ||
70 | kTrackerRecPoints = 105, ///< Tracker : tracker data of clusters (all and mono-cathode ones) | |
71 | ||
72 | kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber | |
73 | kTrackerClusterChargePerChamber = 300, ///< Tracker: cluster charge per chamber | |
74 | kTrackerClusterHitMapPerChamber = 400, ///< Tracker: cluster position distribution per chamber | |
75 | ||
76 | kTrackerNumberOfClustersPerDE = 1000, ///< Tracker : number of clusters per DE | |
77 | kTrackerClusterMultiplicityPerDEMean = 1001, ///< cluster size per DE: mean | |
78 | kTrackerClusterChargePerDEMean = 1002, ///< cluster charge per DE: mean | |
79 | ||
80 | kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE | |
81 | kTrackerClusterChargePerDE = 5000 ///< Tracker : cluster charge per DE | |
82 | ||
83 | }; | |
84 | ||
85 | /// ESD histograms indices | |
86 | enum EESD { | |
87 | kESDnTracks = 0, ///< number of tracks | |
88 | kESDMatchTrig = 1, ///< number of tracks matched with trigger | |
89 | kESDMomentum = 2, ///< P distribution | |
90 | kESDPt = 3, ///< Pt distribution | |
91 | kESDRapidity = 4, ///< rapidity distribution | |
92 | kESDChi2 = 5, ///< normalized chi2 distribution | |
93 | kESDProbChi2 = 6, ///< distribution of probability of chi2 | |
94 | ||
95 | kESDClusterHitMap = 7, ///< cluster position distribution in chamber i | |
96 | kESDnClustersPerTrack = 17, ///< number of clusters per track | |
97 | kESDnClustersPerCh = 18, ///< number of clusters per chamber per track | |
98 | kESDnClustersPerDE = 19, ///< number of clusters per DE per track | |
99 | kESDClusterChargeInCh = 20, ///< cluster charge distribution in chamber i | |
100 | kESDClusterChargePerChMean = 30, ///< cluster charge per Ch: mean | |
101 | kESDClusterChargePerChSigma = 31, ///< cluster charge per Ch: dispersion | |
102 | kESDClusterChargePerDE = 32, ///< cluster charge per DE: mean | |
103 | kESDClusterSizeInCh = 33, ///< cluster size distribution in chamber i | |
104 | kESDClusterSizePerChMean = 43, ///< cluster size per Ch: mean | |
105 | kESDClusterSizePerChSigma = 44, ///< cluster size per Ch: dispersion | |
106 | kESDClusterSizePerDE = 45, ///< cluster size per DE: mean | |
107 | ||
108 | kESDResidualXInCh = 46, ///< cluster-track residual-X distribution in chamber i | |
109 | kESDResidualYInCh = 56, ///< cluster-track residual-Y distribution in chamber i | |
110 | kESDResidualXPerChMean = 66, ///< cluster-track residual-X per Ch: mean | |
111 | kESDResidualYPerChMean = 67, ///< cluster-track residual-Y per Ch: mean | |
112 | kESDResidualXPerChSigma = 68, ///< cluster-track residual-X per Ch: dispersion | |
113 | kESDResidualYPerChSigma = 69, ///< cluster-track residual-Y per Ch: dispersion | |
114 | kESDResidualXPerDEMean = 70, ///< cluster-track residual-X per DE: mean | |
115 | kESDResidualYPerDEMean = 71, ///< cluster-track residual-Y per DE: mean | |
116 | kESDResidualXPerDESigma = 72, ///< cluster-track residual-X per DE: dispersion | |
117 | kESDResidualYPerDESigma = 73, ///< cluster-track residual-Y per DE: dispersion | |
118 | kESDLocalChi2XInCh = 74, ///< local chi2-X distribution in chamber i | |
119 | kESDLocalChi2YInCh = 84, ///< local chi2-Y distribution in chamber i | |
120 | kESDLocalChi2XPerChMean = 94, ///< local chi2-X per Ch: mean | |
121 | kESDLocalChi2YPerChMean = 95, ///< local chi2-Y per Ch: mean | |
122 | kESDLocalChi2XPerDEMean = 96, ///< local chi2-X per DE: mean | |
123 | kESDLocalChi2YPerDEMean = 97, ///< local chi2-Y per DE: mean | |
124 | kESDLocalChi2InCh = 98, ///< local chi2-X distribution in chamber i | |
125 | kESDLocalChi2PerChMean = 108, ///< local chi2 per Ch: mean | |
126 | kESDLocalChi2PerDEMean = 109, ///< local chi2 per DE: mean | |
127 | ||
128 | kESDThetaX = 110, ///< thetaX distribution | |
129 | kESDThetaY = 111, ///< thetaY distribution | |
130 | ||
131 | kESDnTotClustersPerCh = 1000, ///< total number of associated clusters per chamber | |
132 | kESDnTotClustersPerDE = 1001, ///< total number of associated clusters per DE | |
133 | kESDnTotFullClustersPerDE = 1002, ///< total number of associated clusters containing pad info per DE | |
134 | kESDSumClusterChargePerDE = 1003, ///< sum of cluster charge per DE | |
135 | kESDSumClusterSizePerDE = 1004, ///< sum of cluster size per DE | |
136 | kESDSumResidualXPerDE = 1005, ///< sum of cluster-track residual-X per DE | |
137 | kESDSumResidualYPerDE = 1006, ///< sum of cluster-track residual-Y per DE | |
138 | kESDSumResidualX2PerDE = 1007, ///< sum of cluster-track residual-X**2 per DE | |
139 | kESDSumResidualY2PerDE = 1008, ///< sum of cluster-track residual-Y**2 per DE | |
140 | kESDSumLocalChi2XPerDE = 1009, ///< sum of local chi2-X per DE | |
141 | kESDSumLocalChi2YPerDE = 1010, ///< sum of local chi2-Y per DE | |
142 | kESDSumLocalChi2PerDE = 1011 ///< sum of local chi2 per DE | |
143 | }; | |
144 | ||
145 | private: | |
146 | ||
147 | void InsertTrackerData(Int_t specie, TObjArray** list, TObject* object, | |
148 | Int_t indexNumber, Bool_t replace=kFALSE); | |
149 | ||
150 | private: | |
3e1866ad | 151 | /// Not implemented |
152 | AliMUONTrackerQADataMakerRec(const AliMUONTrackerQADataMakerRec& rhs); | |
153 | /// Not implemented | |
154 | AliMUONTrackerQADataMakerRec& operator=(const AliMUONTrackerQADataMakerRec& rhs); | |
ece56eb9 | 155 | |
156 | AliMUONVDigitStore* fDigitStore; //!< pointer to digits store | |
157 | AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker | |
158 | AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store | |
159 | ||
160 | AliMUONVTrackerDataMaker* fTrackerDataMaker; //!< tracker data accumulation (Raw) | |
161 | ||
162 | AliMUONQAMappingCheck* fMappingCheckRecPoints; //!< mapping cross-checker (RecPoints) | |
163 | ||
164 | AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks | |
165 | ||
166 | ClassDef(AliMUONTrackerQADataMakerRec,1) // MUON Quality assurance data maker | |
167 | ||
168 | }; | |
169 | #endif |