]>
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; | |
6b798f2d | 8 | class TProfile; |
0531c107 | 9 | class TClonesArray; |
10 | class TArrayI; | |
0531c107 | 11 | |
12 | #include <TRef.h> | |
13 | #include <TBits.h> | |
fd08af98 | 14 | #include <TMath.h> |
15 | ||
16 | #include <AliVEvent.h> | |
0531c107 | 17 | |
9239b066 | 18 | #include "AliAnalysisTaskEmcalJet.h" |
0531c107 | 19 | |
9239b066 | 20 | class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJet { |
0531c107 | 21 | public: |
0531c107 | 22 | AliAnalysisTaskEmcalJetTriggerQA(); |
23 | AliAnalysisTaskEmcalJetTriggerQA(const char *name); | |
24 | virtual ~AliAnalysisTaskEmcalJetTriggerQA(); | |
25 | ||
26 | void UserCreateOutputObjects(); | |
27 | void Terminate(Option_t *option); | |
28 | ||
0531c107 | 29 | Bool_t SelectEvent(); //decides if event is used for analysis |
2d9ab573 | 30 | void FillTriggerPatchHistos(); |
0531c107 | 31 | |
0531c107 | 32 | //Setters |
33 | void SetDebug(Int_t d) { fDebug = d;} | |
34 | void SetTriggerClass(const char *n) { fTriggerClass = n; } | |
35 | void SetNFastorPatch(Int_t i) { fNFastOR = i;} | |
36 | ||
9e5eee5d | 37 | void SetContainerFull(Int_t c) { fContainerFull = c;} |
38 | void SetContainerCharged(Int_t c) { fContainerCharged = c;} | |
39 | ||
3d7d5c56 | 40 | void SetMainTriggerTypeCat(TriggerCategory cat, Bool_t b) {fMainTrigCat = cat; fMainTrigSimple = b;} |
41 | ||
0714a353 | 42 | Int_t GetLeadingCellId(const AliVCluster *clus) const; |
43 | Double_t GetEnergyLeadingCell(const AliVCluster *clus) const; | |
698f34d8 | 44 | Double_t GetECross(Int_t absID) const; |
0531c107 | 45 | |
46 | Double_t GetZ(const AliVParticle *trk, const AliEmcalJet *jet) const; | |
34e8fe1d | 47 | Double_t GetZ(Double_t trkPx, Double_t trkPy, Double_t trkPz, Double_t jetPx, Double_t jetPy, Double_t jetPz) const; |
0531c107 | 48 | |
49 | protected: | |
50 | Bool_t FillHistograms() ; | |
51 | Bool_t Run() ; | |
fd08af98 | 52 | Float_t RelativeEP(Double_t objAng, Double_t EPAng) const; |
0531c107 | 53 | Bool_t TestFilterBit(Int_t trigBit, UInt_t bitJetTrig) const {return (Bool_t) ((trigBit & bitJetTrig) != 0);} |
54 | ||
0531c107 | 55 | private: |
2d9ab573 | 56 | Bool_t fDebug; // debug level |
0714a353 | 57 | TString fTriggerClass; // trigger class to analyze EJ1 or EJ2 |
2d9ab573 | 58 | Int_t fContainerFull; // number of container with full jets DET |
59 | Int_t fContainerCharged; // number of container with charged jets DET | |
b3d4420c | 60 | Double_t fMaxPatchEnergy; // energy of patch with largest energy (offline) |
61 | Double_t fMaxPatchADCEnergy; // energy of patch with largest energy from online ADC | |
0714a353 | 62 | Int_t fTriggerType; // trigger type |
63 | Int_t fNFastOR; // size of trigger patch fNFastORxfNFastOR | |
3d7d5c56 | 64 | TriggerCategory fMainTrigCat; // trigger category for main trigger |
65 | Bool_t fMainTrigSimple; // use offline trigger instead of online | |
0531c107 | 66 | |
6b798f2d | 67 | TH1F *fhNEvents; //! Histo number of events |
68 | TProfile *fhTriggerbit; //! histogram containing the triggerbit (fOfflineTriggerMask) | |
69 | TH2F *fHistRhovsCentFull; //! rho vs. centrality | |
70 | TH2F *fHistRhovsCentCharged; //! rho vs. centrality | |
71 | TH3F *fh3PtEtaPhiTracks; //! pt,eta,phi of tracks at vertex | |
72 | TH3F *fh3PtEtaPhiTracksOnEmcal; //! pt,eta,phi of tracks at Emcal surface | |
73 | TH3F *fh3PtEtaPhiTracksToProp; //! pt,eta,phi of tracks at vertex | |
74 | TH3F *fh3PtEtaPhiTracksProp; //! pt,eta,phi of tracks at vertex | |
75 | TH3F *fh3PtEtaPhiTracksNoProp; //! pt,eta,phi of tracks at vertex | |
76 | TH2F *fh2CentPtJetFull; //! cent, pt of full jets | |
77 | TH2F *fh2CentPtJetCharged; //! cent, pt of charged jets | |
78 | TH3F *fh3PtEtaPhiJetFull; //! pt,eta,phi of full jets | |
79 | TH3F *fh3PtEtaPhiJetCharged; //! pt,eta,phi of charged jets | |
80 | TH2F *fh2NJetsPtFull; //! NJets per event vs pT,jet | |
81 | TH2F *fh2NJetsPtCharged; //! NJets per event vs pT,jet | |
82 | TH3F *fh3PtEtaAreaJetFull; //! pt,eta,area of full jet | |
83 | TH3F *fh3PtEtaAreaJetCharged; //! pt,eta,area of charged jets | |
84 | TH2F *fh2PtNConstituentsCharged; //! pt, # charged jet constituents | |
85 | TH2F *fh2PtNConstituents; //! pt, # jet constituents | |
86 | TH2F *fh2PtMeanPtConstituentsCharged; //! pt, <pt> charged constituents | |
87 | TH2F *fh2PtMeanPtConstituentsNeutral; //! pt, <pt> neutral constituents | |
88 | TH2F *fh2PtNEF; //! pt, NEF (neutral energy fraction) | |
89 | TH3F *fh3NEFEtaPhi; //! NEF, eta, phi | |
90 | TH2F *fh2NEFNConstituentsCharged; //! NEF, # charged jet constituents | |
91 | TH2F *fh2NEFNConstituentsNeutral; //! NEF, # neutral jet constituents | |
92 | TH2F *fh2Ptz; //! pt, z=pT,h,proj/p,jet full jet | |
93 | TH2F *fh2PtzCharged; //! pt, z=pT,h,proj/p,jet charged 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) | |
b3d4420c | 98 | TH3F *fh3PtLeadJet1PatchEnergyVZEROAmp; //! leading jet energy vs leading patch energy vs VZERO amplitude |
99 | TH3F *fh3PtLeadJet1RawPatchEnergyVZEROAmp; //! leading jet energy vs online leading patch energy vs VZERO amplitude | |
6b798f2d | 100 | TH3F *fh3PatchEnergyEtaPhiCenterJ1; //! patch energy vs eta, phi at center of patch, high threshold |
101 | TH3F *fh3PatchEnergyEtaPhiCenterJ2; //! patch energy vs eta, phi at center of patch, low threshold | |
102 | TH3F *fh3PatchEnergyEtaPhiCenterJ1J2; //! patch energy vs eta, phi at center of patch, low + high threshold | |
103 | TH3F *fh3PatchADCEnergyEtaPhiCenterJ1; //! patch ADC energy vs eta, phi at center of patch, high threshold | |
104 | TH3F *fh3PatchADCEnergyEtaPhiCenterJ2; //! patch ADC energy vs eta, phi at center of patch, low threshold | |
105 | TH3F *fh3PatchADCEnergyEtaPhiCenterJ1J2; //! patch ADC energy vs eta, phi at center of patch, low + high threshold | |
106 | TH3F *fh3PatchADCEnergyEtaPhiCenterAll; //! patch ADC energy vs eta, phi at center of patch, all trigger patches | |
107 | TH3F *fh3EEtaPhiCell; //! cell E, eta, phi | |
7cb999d9 | 108 | TH2F *fh2ECellVsCent; //! cell E vs centrality |
6b798f2d | 109 | TH2F *fh2CellEnergyVsTime; //! emcal cell energy vs time |
110 | TH3F *fh3EClusELeadingCellVsTime; //! cluster energy vs energy of leading cell in cluster vs time of the leading cell | |
111 | TH3F *fh3JetReacCent; //! jet energy vs cent vs dphi(jet,event plane) | |
7cb999d9 | 112 | |
0531c107 | 113 | AliAnalysisTaskEmcalJetTriggerQA(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented |
114 | AliAnalysisTaskEmcalJetTriggerQA &operator=(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented | |
115 | ||
7cb999d9 | 116 | ClassDef(AliAnalysisTaskEmcalJetTriggerQA, 15) |
0531c107 | 117 | }; |
118 | #endif | |
7cb999d9 | 119 | |
120 |