]>
Commit | Line | Data |
---|---|---|
0531c107 | 1 | #ifndef ALIANALYSISTASKEMCALJETTRIGGERQA_H |
2 | #define ALIANALYSISTASKEMCALJETTRIGGERQA_H | |
3 | ||
4 | class TH1; | |
5 | class TH2; | |
6 | class TH3; | |
7 | class TH3F; | |
8 | class TClonesArray; | |
9 | class TArrayI; | |
10 | class AliAnalysisUtils; | |
11 | ||
12 | #include <TRef.h> | |
13 | #include <TBits.h> | |
14 | ||
15 | #include "AliAnalysisTaskEmcalJet.h" | |
16 | ||
17 | class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJet { | |
18 | public: | |
19 | ||
20 | AliAnalysisTaskEmcalJetTriggerQA(); | |
21 | AliAnalysisTaskEmcalJetTriggerQA(const char *name); | |
22 | virtual ~AliAnalysisTaskEmcalJetTriggerQA(); | |
23 | ||
24 | void UserCreateOutputObjects(); | |
25 | void Terminate(Option_t *option); | |
26 | ||
27 | void InitOnce(); | |
28 | void LoadExtraBranches(); | |
29 | ||
30 | Bool_t SelectEvent(); //decides if event is used for analysis | |
31 | void FindTriggerPatch(); | |
32 | ||
609c7a0d | 33 | Bool_t AcceptJet2(const AliEmcalJet *jet) const; |
0531c107 | 34 | |
35 | //Setters | |
36 | void SetDebug(Int_t d) { fDebug = d;} | |
37 | void SetTriggerClass(const char *n) { fTriggerClass = n; } | |
38 | void SetNFastorPatch(Int_t i) { fNFastOR = i;} | |
39 | ||
609c7a0d | 40 | void SetJetsName2(const char *n) { fJetsName2 = n; } |
0531c107 | 41 | void SetRhoChName(const char *n) { fRhoChName = n; } |
609c7a0d | 42 | void SetMinEtaJets2(Double_t p) { fEtaMinJet2 = p;} |
43 | void SetMaxEtaJets2(Double_t p) { fEtaMaxJet2 = p;} | |
44 | void SetMinPhiJets2(Double_t p) { fPhiMinJet2 = p;} | |
45 | void SetMaxPhiJets2(Double_t p) { fPhiMaxJet2 = p;} | |
0531c107 | 46 | |
47 | Double_t GetZ(const AliVParticle *trk, const AliEmcalJet *jet) const; | |
48 | Double_t GetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz) const; | |
49 | ||
50 | protected: | |
51 | Bool_t FillHistograms() ; | |
52 | Bool_t Run() ; | |
53 | ||
54 | Bool_t TestFilterBit(Int_t trigBit, UInt_t bitJetTrig) const {return (Bool_t) ((trigBit & bitJetTrig) != 0);} | |
55 | ||
56 | ||
57 | ||
58 | private: | |
59 | Bool_t fDebug; // debug level | |
60 | Bool_t fUseAnaUtils; // used for LHC13* data | |
61 | AliAnalysisUtils *fAnalysisUtils; //! vertex selection | |
609c7a0d | 62 | TString fJetsName2; // name of charged jet collection |
63 | TClonesArray *fJets2; //! list with charged jets | |
64 | Double_t fEtaMinJet2; // min eta of jet axis, jets in 2nd branch | |
65 | Double_t fEtaMaxJet2; // max eta of jet axis, jets in 2nd branch | |
66 | Double_t fPhiMinJet2; // min phi of jet axis, jets in 2nd branch | |
67 | Double_t fPhiMaxJet2; // max phi of jet axis, jets in 2nd branch | |
68 | Double_t fMaxTrackPtJet2; // maximum track pT in jet | |
0531c107 | 69 | |
70 | TString fRhoChName; // name of charged rho branch | |
71 | AliRhoParameter *fRhoCh; //! event rho charged | |
72 | Double_t fRhoChVal; // charged rho value | |
73 | ||
74 | TString fTriggerClass; // trigger class to analyze EJ1 or EJ2 | |
75 | UInt_t fBitJ1; // trigger bit of EJE1 | |
76 | UInt_t fBitJ2; // trigger bit of EJE2 | |
77 | Double_t fMaxPatchEnergy; // energy of patch with largest energy | |
78 | Int_t fTriggerType; // trigger type | |
79 | Int_t fNFastOR; // size of trigger patch fNFastORxfNFastOR | |
80 | ||
81 | TH1F *fhNEvents; //! Histo number of events | |
82 | TH3F *fh3PtEtaPhiJetFull; //! pt,eta,phi of full jets | |
83 | TH3F *fh3PtEtaPhiJetCharged; //! pt,eta,phi of charged jets | |
84 | TH2F *fh2NJetsPtFull; //! NJets per event vs pT,jet | |
85 | TH2F *fh2NJetsPtCharged; //! NJets per event vs pT,jet | |
86 | TH3F *fh3PtEtaAreaJetFull; //! pt,eta,area of full jet | |
87 | TH3F *fh3PtEtaAreaJetCharged; //! pt,eta,area of charged jets | |
88 | TH2F *fh2PtNConstituentsCharged; //! pt, # charged jet constituents | |
89 | TH2F *fh2PtNConstituents; //! pt, # jet constituents | |
90 | TH2F *fh2PtMeanPtConstituentsCharged; //! pt, <pt> charged constituents | |
91 | TH2F *fh2PtMeanPtConstituentsNeutral; //! pt, <pt> neutral constituents | |
92 | TH2F *fh2PtNEF; //! pt, NEF (neutral energy fraction) | |
93 | TH2F *fh2Ptz; //! pt, z=pT,h,proj/p,jet | |
94 | TH2F *fh2PtLeadJet1VsLeadJet2; //! correlation between leading jet of the two branches | |
95 | TH3F *fh3EEtaPhiCluster; //! cluster E, eta, phi | |
96 | TH3F *fh3PtLeadJet1VsPatchEnergy; //! leading jet energy vs leading patch energy vs jet trigger (J1/J2) | |
97 | TH3F *fh3PtLeadJet2VsPatchEnergy; //! leading jet energy vs leading patch energy vs jet trigger (J1/J2) | |
98 | TH3F *fh3PatchEnergyEtaPhiCenter; //! patch energy vs eta, phi at center of patch | |
992189ac | 99 | TH2F *fh2CellEnergyVsTime; //! emcal cell energy vs time |
0531c107 | 100 | |
101 | ||
102 | AliAnalysisTaskEmcalJetTriggerQA(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented | |
103 | AliAnalysisTaskEmcalJetTriggerQA &operator=(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented | |
104 | ||
105 | ClassDef(AliAnalysisTaskEmcalJetTriggerQA, 1) // jet sample analysis task | |
106 | }; | |
107 | #endif |