Flexible pt range for the efficiency histogramming
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerQADataMakerRec.h
1 #ifndef ALIMUONTRIGGERQADATAMAKERREC_H
2 #define ALIMUONTRIGGERQADATAMAKERREC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id$
7
8 /// \ingroup rec
9 /// \class AliMUONTriggerQADataMakerRec
10 /// \brief MUON Quality assurance data maker for MTR
11 ///
12
13 // --- AliRoot header files ---
14 #include "AliMUONVQADataMakerRec.h"
15
16 class AliMUONCalibrationData;
17 class AliMUONDigitMaker;
18 class AliMUONVClusterStore;
19 class AliMUONTriggerElectronics;
20 class AliMUONVDigitStore;
21 class TObjectArray;
22 class TMap;
23 class AliMpDCSNamer;
24 class AliMUONVTriggerStore;
25 class AliMUONGlobalTrigger;
26 class AliMUONTriggerUtilities;
27
28 class AliMUONTriggerQADataMakerRec: public AliMUONVQADataMakerRec {
29
30 public:
31   AliMUONTriggerQADataMakerRec(AliQADataMakerRec* master);         
32   virtual ~AliMUONTriggerQADataMakerRec();
33   
34   virtual void InitRaws(); 
35   virtual void InitRecPoints(); 
36   virtual void InitDigits(); 
37   virtual void InitESDs(); 
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);
42   
43   /// Empty implementation
44   void EndOfDetectorCycleDigits(Int_t , TObjArray** ) {}
45     
46   virtual void MakeRaws(AliRawReader* rawReader); 
47   
48   virtual void MakeDigits(TTree* dig); 
49   virtual void MakeRecPoints(TTree* recpo); 
50   virtual void MakeESDs(AliESDEvent* esd) ;
51   
52   void ResetDetectorRaws(TObjArray* list);
53   
54 private:
55   /// Not implemented
56   AliMUONTriggerQADataMakerRec(const AliMUONTriggerQADataMakerRec& qadm);   
57   /// Not implemented
58   AliMUONTriggerQADataMakerRec& operator=(const AliMUONTriggerQADataMakerRec& qadm);
59
60   void DisplayTriggerInfo(Int_t itc);
61   void FillRatio4434Histos(Int_t evtInterval, Int_t itc, Bool_t isEndOfCycle);
62   Bool_t FillTriggerDCSHistos();
63   TObjArray* GetDCSValues(Int_t iMeas, Int_t detElemId,
64                           TMap* triggerDcsMap, AliMpDCSNamer& triggerDcsNamer);
65   UChar_t RawTriggerInGlobal2OutGlobal(UInt_t globalInput[4]);
66   void RawTriggerMatchOutLocal();
67   //void RawTriggerMatchOutLocalInRegional();
68   void RawTriggerMatchOutGlobal(AliMUONGlobalTrigger& inputLocalTrigger,
69                                 AliMUONGlobalTrigger& recoGlobalTrigger,
70                                 Char_t histo);
71   AliMUONTriggerElectronics* TriggerElectronics();
72   AliMUONCalibrationData* CalibrationData();
73   AliMUONTriggerUtilities* TriggerUtilities();
74
75   //Int_t fTriggerOutputRegionalData[16]; ///< Data Regional Trigger decision for each Regional Board (1R:0, 2R:1, ... , 1L:8, ...) -> 4 bits LPt, 4 bits HPt
76   //Int_t fTriggerInputRegionalRecLPt[2][16][16]; ///< Reconstructed Regional Input LPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...)
77   //Int_t fTriggerInputRegionalRecHPt[2][16][16]; ///< Reconstructed Regional Input HPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...)
78   //Int_t fTriggerOutputRegionalRec[16]; ///< Reconstructed Regional Trigger decision for each Regional Board (8 Bits)
79
80   //Int_t fTriggerInputGlobalDataLPt[16][4]; ///< Data Global inputs LPt (1R:0, 2R:1, ... , 1L:8, ...)
81   //Int_t fTriggerInputGlobalDataHPt[16][4]; ///< Data Global inputs HPt (1R:0, 2R:1, ... , 1L:8, ...)
82   //Int_t fTriggerOutputGlobalRecFromLocalInput[6]; //< Reconstructed Global outputs from Local inputs
83   //Int_t fTriggerOutputGlobalRecFromLocalOutput[6]; //< Reconstructed Global outputs from Local outputs
84
85   static const Int_t fgkUpdateRatio4434=50; ///< Event interval between 2 update of the Ratio4434 histos
86   
87   AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker
88   AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks
89   AliMUONTriggerElectronics* fTriggerProcessor; //!< trigger processore to re-compute response
90   AliMUONVDigitStore* fDigitStore; //!< pointer to digits store
91   AliMUONVDigitStore* fDigitStoreFromRaw; //!< pointer to digit store from RAW data
92   AliMUONVTriggerStore* fTriggerStoreFromRaw; //!< pointer to trigger store from input RAW data
93   AliMUONVTriggerStore* fTriggerStoreReprocessRaw; //!< pointer to trigger store from re-computed RAW data
94   AliMUONTriggerUtilities* fTriggerUtils; //! trigger utilities (for masks)
95   
96   ClassDef(AliMUONTriggerQADataMakerRec,3)  // MUON Quality assurance data maker
97
98 };
99
100 #endif