1 #ifndef ALIEMCALTRIGGERMAKER_H
2 #define ALIEMCALTRIGGERMAKER_H
4 // $Id: AliEmcalTriggerMaker.h 64593 2013-10-18 10:23:58Z loizides $
7 class AliEmcalTriggerSetupInfo;
8 class AliAODCaloTrigger;
11 #include "AliEMCALTriggerTypes.h"
12 #include "AliAnalysisTaskEmcal.h"
14 class AliEmcalTriggerMaker : public AliAnalysisTaskEmcal {
16 AliEmcalTriggerMaker();
17 AliEmcalTriggerMaker(const char *name);
18 virtual ~AliEmcalTriggerMaker();
22 void RunSimpleOfflineTrigger();
24 void SetCaloTriggersOutName(const char *name) { fCaloTriggersOutName = name; }
25 void SetCaloTriggerSetupOutName(const char *name) { fCaloTriggerSetupOutName = name; }
27 void SetTriggerThresholdJetLow( Int_t a, Int_t b, Int_t c ) { fThresholdConstants[2][0] = a; fThresholdConstants[2][1] = b; fThresholdConstants[2][2] = c; }
28 void SetTriggerThresholdJetHigh( Int_t a, Int_t b, Int_t c ) { fThresholdConstants[0][0] = a; fThresholdConstants[0][1] = b; fThresholdConstants[0][2] = c; }
30 void SetV0InName(const char *name) { fV0InName = name; }
32 Bool_t IsEJE( Int_t tBits ) { if( tBits & ( 1 << (kTriggerTypeEnd + kL1JetLow) | 1 << (kTriggerTypeEnd + kL1JetHigh) | 1 << (kL1JetLow) | 1 << (kL1JetHigh) )) return kTRUE; else return kFALSE; }
33 Bool_t IsEGA( Int_t tBits ) { if( tBits & ( 1 << (kTriggerTypeEnd + kL1GammaLow) | 1 << (kTriggerTypeEnd + kL1GammaHigh) | 1 << (kL1GammaLow) | 1 << (kL1GammaHigh) )) return kTRUE; else return kFALSE; }
36 TString fCaloTriggersOutName; // name of output track array
37 TString fCaloTriggerSetupOutName; // name of output track array
38 TString fV0InName; // name of output track array
39 TClonesArray *fCaloTriggersOut; //!trigger array out
40 AliEmcalTriggerSetupInfo *fCaloTriggerSetupOut; //!trigger setup
41 AliAODCaloTrigger *fSimpleOfflineTriggers; //! simple offline trigger
42 AliVVZERO *fV0; //! V0 object
44 Double_t fPatchADCSimple[48][64]; //! patch map for simple offline trigger
45 Int_t fThresholdConstants[4][3]; // simple offline trigger thresholds constants
47 Int_t fPatchADC[48][64]; //! ADC values map
48 Int_t fITrigger; //! trigger counter
51 AliEmcalTriggerMaker(const AliEmcalTriggerMaker&); // not implemented
52 AliEmcalTriggerMaker &operator=(const AliEmcalTriggerMaker&); // not implemented
54 Bool_t NextTrigger( Bool_t &isOfflineSimple );
55 AliEmcalTriggerPatchInfo* ProcessPatch( Int_t type, Bool_t isOfflineSimple );
57 ClassDef(AliEmcalTriggerMaker, 4); // Task to make array of EMCAL particle