]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONQADataMakerRec.h
Adding the array of the recosntruction parameters (Marian)
[u/mrichter/AliRoot.git] / MUON / AliMUONQADataMakerRec.h
CommitLineData
04236e67 1#ifndef AliMUONQADataMakerRec_H
2#define AliMUONQADataMakerRec_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
bf4d93eb 6// $Id$
7
04236e67 8/// \ingroup rec
9/// \class AliMUONQADataMakerRec
10/// \brief MUON Quality assurance data maker
11///
04236e67 12
04236e67 13// --- AliRoot header files ---
c92a8c85 14#include "AliQADataMakerRec.h"
15#include "AliMUONRecoParam.h"
16
7035694f 17class AliMUONDigitMaker;
18class AliMUONVDigitStore;
19class AliMUONVTriggerStore;
f587a77d 20class AliMUONVClusterStore;
f587a77d 21class AliMUONVTrackerDataMaker;
22
04236e67 23class AliMUONQADataMakerRec: public AliQADataMakerRec {
24
25public:
b8bd1ab8 26 AliMUONQADataMakerRec();
04236e67 27 AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);
28 AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
29 virtual ~AliMUONQADataMakerRec();
30
31private:
b62881f2 32 /// Raw histograms indices
33 enum ERaw {
c92a8c85 34 kTrackerData = 3, ///< Accumulated data
5bb54f70 35 kTrackerBusPatchOccupancy = 4, ///< Bus patch occupancies
c92a8c85 36 kTriggerScalersBP = 22, ///< Trigger scalers on BP histogram per chamber index
37 kTriggerScalersNBP = 23, ///< Trigger scalers on NBP histogram per chamber index
38 kTriggerScalersDisplay = 24 ///< Trigger scalers display histogram per chamber index
b62881f2 39 };
40
41 /// Rec points histograms indices
42 enum ERecPoints {
c92a8c85 43 kTriggerDigitsBendPlane = 0, ///< Trigger digits on BP histogram index
2346e1ad 44 kTriggerDigitsNonBendPlane = 1, ///< Trigger digits on NBP histogram index
45 kTriggeredBoards = 2, ///< Triggered boards histogram index
46 kTriggerDigitsDisplay = 3, ///< Trigger digits display histogram per plane index
c92a8c85 47 kTriggerBoardsDisplay = 11, ///< Triggered boards display histogram index
48
49 kTrackerNumberOfClustersPerChamber = 100, ///< Tracker: # of clusters per chamber
50 kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
51 kTrackerClusterChargePerChamber = 300, ///< Tracker: cluster charge per chamber
f587a77d 52
c92a8c85 53 kTrackerNumberOfClustersPerDE = 1000, ///< Tracker : number of clusters per DE
54 kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE
55 kTrackerClusterChargePerDE = 5000 ///< Tracker : cluster charge per DE
b62881f2 56 };
c92a8c85 57
b62881f2 58 /// ESD histograms indices
59 enum EESD {
c92a8c85 60 kESDnTracks = 0, ///< number of tracks
61 kESDMatchTrig = 1, ///< number of tracks matched with trigger
62 kESDMomentum = 2, ///< P distribution
63 kESDPt = 3, ///< Pt distribution
64 kESDRapidity = 4, ///< rapidity distribution
65 kESDChi2 = 5, ///< normalized chi2 distribution
66
67 kESDClusterHitMap = 6, ///< cluster position distribution in chamber i
68 kESDnClustersPerTrack = 16, ///< number of clusters per track
69 kESDnClustersPerCh = 17, ///< number of clusters per chamber
70 kESDnClustersPerDE = 18, ///< number of clusters per DE
71 kESDClusterCharge = 19, ///< cluster charge distribution
72 kESDClusterChargeInCh = 20, ///< cluster charge distribution in chamber i
73 kESDClusterChargePerDE = 30, ///< cluster charge per DE: mean +- dispersion
74 kESDClusterMult = 31, ///< cluster multiplicity distribution
75 kESDClusterMultInCh = 32, ///< cluster multiplicity distribution in chamber i
76 kESDClusterMultPerDE = 42, ///< cluster multiplicity per DE: mean +- dispersion
77
78 kESDResidualX = 43, ///< cluster-track residual-X distribution
79 kESDResidualY = 44, ///< cluster-track residual-Y distribution
80 kESDResidualXInCh = 45, ///< cluster-track residual-X distribution in chamber i
81 kESDResidualYInCh = 55, ///< cluster-track residual-Y distribution in chamber i
82 kESDResidualXPerDEMean = 65, ///< cluster-track residual-X per DE: mean
83 kESDResidualYPerDEMean = 66, ///< cluster-track residual-Y per DE: mean
84 kESDResidualXPerDESigma = 67, ///< cluster-track residual-X per DE: sigma
85 kESDResidualYPerDESigma = 68 ///< cluster-track residual-Y per DE: sigma
b62881f2 86 };
87
f587a77d 88protected:
89
90 virtual void StartOfDetectorCycle();
04236e67 91
f587a77d 92 virtual void InitRaws();
93 virtual void InitRecPoints();
94 virtual void InitESDs();
95
96 virtual void MakeRaws(AliRawReader* rawReader);
97 virtual void MakeRecPoints(TTree* recpo);
98 virtual void MakeESDs(AliESDEvent* esd) ;
04236e67 99
f587a77d 100 virtual void DefaultEndOfDetectorCycle(AliQA::TASKINDEX_t) {}
2346e1ad 101
f587a77d 102 virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list);
103
104private:
105
106 void Ctor();
2346e1ad 107 void DisplayTriggerInfo(AliQA::TASKINDEX_t task);
f587a77d 108 void InitRecPointsTracker();
109 void InitRecPointsTrigger();
110 void MakeRawsTracker(AliRawReader* rawReader);
111 void MakeRawsTrigger(AliRawReader* rawReader);
112 void MakeRecPointsTracker(TTree* treeR);
113 void MakeRecPointsTrigger(TTree* treeR);
114
b8bd1ab8 115 const AliMUONRecoParam* GetRecoParam() const { return dynamic_cast<const AliMUONRecoParam *>(fRecoParam); }
a0dc65b4 116
b1341ab0 117 Bool_t fIsInitRaws; //!< info if InitRaws() went ok
f587a77d 118 Bool_t fIsInitRecPointsTracker; //!< info if InitRecPoints() went ok
119 Bool_t fIsInitRecPointsTrigger; //!< info if InitRecPoints() went ok
b1341ab0 120 Bool_t fIsInitESDs; //!< info if InitESDs() went ok
121
122 AliMUONVDigitStore* fDigitStore; //!< pointer to digits store
7035694f 123 AliMUONVTriggerStore* fTriggerStore; //!< pointer to trigger store
b1341ab0 124 AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker
f587a77d 125 AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
126
b8bd1ab8 127 AliMUONVTrackerDataMaker* fTrackerDataMaker; //!< tracker data accumulation
f587a77d 128
b8bd1ab8 129 ClassDef(AliMUONQADataMakerRec,4) // MUON Quality assurance data maker
04236e67 130
131};
132#endif