1 #ifndef ALIPHOSTrigger_H
2 #define ALIPHOSTrigger_H
4 //____________________________________________________________
5 // Class for trigger analysis.
6 // Class for trigger analysis.
7 // Digits are grouped in TRU's (16x28 ordered fNTRUPhi x fNTRUEta).
8 // The algorithm searches all possible 4x4 cell combinations per each TRU,
9 // adding the digits amplitude and finding the maximum. Maximums are compared
10 // to triggers threshold and they are set. Thresholds need to be fixed.
13 // //Inside the event loop
14 // AliEMCALTrigger *tr = new AliEMCALTrigger();//Init Trigger
15 // tr->SetL0MBPbPbThreshold(500);
16 // tr->SetL0MBppThreshold(100);
17 // tr->SetL1JetLowPtThreshold(1000);
18 // tr->SetL1JetMediumPtThreshold(10000);
19 // tr->SetL1JetHighPtThreshold(20000);
20 // tr->Trigger(); //Execute Trigger
21 // tr->Print(""); //Print result, with "deb" option all data members
24 //*-- Author: Gustavo Conesa & Yves Schutz (IFIC, SUBATECH, CERN)
26 // --- ROOT system ---
30 // --- AliRoot header files ---
31 #include "AliTriggerDetector.h"
33 class AliPHOSGeometry ;
35 class AliPHOSTrigger : public AliTriggerDetector {
38 AliPHOSTrigger() ; // ctor
39 AliPHOSTrigger(const AliPHOSTrigger & trig) ; // cpy ctor
40 virtual ~AliPHOSTrigger() {}; //virtual dtor
41 virtual void CreateInputs();
42 virtual void Trigger(); //Make PHOS trigger
44 Int_t GetNTRU() const {return fNTRU ; }
45 Int_t GetNTRUZ() const {return fNTRUZ ; }
46 Int_t GetNTRUPhi() const {return fNTRUPhi ; }
47 Int_t GetL0MBPbPbThreshold() const {return fL0MBPbPbThreshold ; }
48 Int_t GetL0MBppThreshold() const {return fL0MBppThreshold ; }
49 Int_t GetL1JetLowPtThreshold() const {return fL1JetLowPtThreshold ; }
50 Int_t GetL1JetHighPtThreshold() const {return fL1JetHighPtThreshold ; }
52 void Print(const Option_t * opt ="") const ;
54 void SetNTRU(Int_t ntru) {fNTRU = ntru; }
55 void SetNTRUZ(Int_t ntru) {fNTRUZ = ntru; }
56 void SetNTRUPhi(Int_t ntru) {fNTRUPhi = ntru; }
57 void SetL0MBPbPbThreshold(Int_t amp) {fL0MBPbPbThreshold = amp; }
58 void SetL0MBppThreshold(Int_t amp) {fL0MBppThreshold = amp; }
59 void SetL1JetLowPtThreshold(Int_t amp)
60 {fL1JetLowPtThreshold = amp; }
61 void SetL1JetHighPtThreshold(Int_t amp)
62 {fL1JetHighPtThreshold = amp; }
65 TClonesArray * FillTRU(const TClonesArray * digits,
66 const AliPHOSGeometry * geom, const Int_t nModules,
67 const Int_t nCrystalsPhi, const Int_t nCrystalsZ) const ;
68 void MakeSlidingCell(const TClonesArray * trus, const Int_t mod,
69 const Int_t nCrystalsPhi, const Int_t nCrystalsZ,
71 void SetTriggers(const Float_t * ampmax) ;
76 Int_t fNTRU ; //! Number of TRUs per module
77 Int_t fNTRUZ ; //! Number of crystal rows per Z in one TRU
78 Int_t fNTRUPhi ; //! Number of crystal rows per Phi in one TRU
79 Int_t fL0MBPbPbThreshold ; //! L0 PbPb trigger energy threshold
80 Int_t fL0MBppThreshold ; //! L0 pp trigger energy threshold
81 Int_t fL1JetLowPtThreshold ; //! Low and High pT trigger energy threshold
82 Int_t fL1JetHighPtThreshold ; //!
84 ClassDef(AliPHOSTrigger,3)
88 #endif //ALIPHOSTrigger_H