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