]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONQADataMakerRec.h
Hopefully sorting out the local board id versus index problems once for all...
[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 ---
7035694f 14class AliMUONDigitMaker;
15class AliMUONVDigitStore;
16class AliMUONVTriggerStore;
f587a77d 17class AliMUONVClusterStore;
b1341ab0 18
04236e67 19#include "AliQADataMakerRec.h"
b8bd1ab8 20#include "AliMUONRecoParam.h"
04236e67 21
f587a77d 22class AliMUONVTrackerDataMaker;
a0dc65b4 23class AliMUONRecoParam;
f587a77d 24
04236e67 25class AliMUONQADataMakerRec: public AliQADataMakerRec {
26
27public:
b8bd1ab8 28 AliMUONQADataMakerRec();
04236e67 29 AliMUONQADataMakerRec(const AliMUONQADataMakerRec& qadm);
30 AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
31 virtual ~AliMUONQADataMakerRec();
32
33private:
b62881f2 34 /// Raw histograms indices
35 enum ERaw {
f587a77d 36 kTrackerData = 3, ///< Accumulated data
2346e1ad 37 kTriggerScalersBP = 22, ///< Trigger scalers on BP histogram per chamber index
38 kTriggerScalersNBP = 23, ///< Trigger scalers on NBP histogram per chamber index
39 kTriggerScalersDisplay = 24 ///< Trigger scalers display histogram per chamber index
b62881f2 40 };
41
42 /// Rec points histograms indices
43 enum ERecPoints {
f587a77d 44
45 kTriggerDigitsBendPlane = 0, ///< Trigger digits on BP histogram index
2346e1ad 46 kTriggerDigitsNonBendPlane = 1, ///< Trigger digits on NBP histogram index
47 kTriggeredBoards = 2, ///< Triggered boards histogram index
48 kTriggerDigitsDisplay = 3, ///< Trigger digits display histogram per plane index
f587a77d 49 kTriggerBoardsDisplay = 11, ///< Triggered boards display histogram index
50
51 kTrackerNumberOfClustersPerChamber = 100, ///< Tracker: # of clusters per chamber
52 kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
53 kTrackerClusterChargePerChamber = 300, ///< Tracker: cluster charge per chamber
54
55 kTrackerNumberOfClustersPerDE = 1000, ///< Tracker : number of clusters per DE
56 kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE
57 kTrackerClusterChargePerDE = 5000 ///< Tracker : cluster charge per DE
58
b62881f2 59 };
60
61 /// ESD histograms indices
62 enum EESD {
63 kESDnTracks = 0, ///< ESD nTrack histogram index
64 kESDMomentum = 1, ///< ESD momentum histogram index
65 kESDPt = 2, ///< ESD Pt histogram index
66 kESDRapidity = 3, ///< ESD Rapidity histogram index
67 kESDClusterHitMap = 4 ///< ESD Cluster hit map histogram index
68 };
69
f587a77d 70protected:
71
72 virtual void StartOfDetectorCycle();
04236e67 73
f587a77d 74 virtual void InitRaws();
75 virtual void InitRecPoints();
76 virtual void InitESDs();
77
78 virtual void MakeRaws(AliRawReader* rawReader);
79 virtual void MakeRecPoints(TTree* recpo);
80 virtual void MakeESDs(AliESDEvent* esd) ;
04236e67 81
f587a77d 82 virtual void DefaultEndOfDetectorCycle(AliQA::TASKINDEX_t) {}
2346e1ad 83
f587a77d 84 virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list);
85
86private:
87
88 void Ctor();
2346e1ad 89 void DisplayTriggerInfo(AliQA::TASKINDEX_t task);
f587a77d 90 void InitRecPointsTracker();
91 void InitRecPointsTrigger();
92 void MakeRawsTracker(AliRawReader* rawReader);
93 void MakeRawsTrigger(AliRawReader* rawReader);
94 void MakeRecPointsTracker(TTree* treeR);
95 void MakeRecPointsTrigger(TTree* treeR);
96
b8bd1ab8 97 const AliMUONRecoParam* GetRecoParam() const { return dynamic_cast<const AliMUONRecoParam *>(fRecoParam); }
a0dc65b4 98
b1341ab0 99 Bool_t fIsInitRaws; //!< info if InitRaws() went ok
f587a77d 100 Bool_t fIsInitRecPointsTracker; //!< info if InitRecPoints() went ok
101 Bool_t fIsInitRecPointsTrigger; //!< info if InitRecPoints() went ok
b1341ab0 102 Bool_t fIsInitESDs; //!< info if InitESDs() went ok
103
104 AliMUONVDigitStore* fDigitStore; //!< pointer to digits store
7035694f 105 AliMUONVTriggerStore* fTriggerStore; //!< pointer to trigger store
b1341ab0 106 AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker
f587a77d 107 AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
108
b8bd1ab8 109 AliMUONVTrackerDataMaker* fTrackerDataMaker; //!< tracker data accumulation
f587a77d 110
b8bd1ab8 111 ClassDef(AliMUONQADataMakerRec,4) // MUON Quality assurance data maker
04236e67 112
113};
114#endif