]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTriggerQA.h
Refactoring of the EMCAL jet package:
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetTriggerQA.h
CommitLineData
0531c107 1#ifndef ALIANALYSISTASKEMCALJETTRIGGERQA_H
2#define ALIANALYSISTASKEMCALJETTRIGGERQA_H
3
4class TH1;
5class TH2;
6class TH3;
7class TH3F;
6b798f2d 8class TProfile;
0531c107 9class TClonesArray;
10class 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 20class 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