]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTriggerQA.h
Updates from Marta
[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;
8class TClonesArray;
9class TArrayI;
10class AliAnalysisUtils;
11
12#include <TRef.h>
13#include <TBits.h>
14
9239b066 15#include "AliAnalysisTaskEmcalJet.h"
0531c107 16
9239b066 17class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJet {
0531c107 18 public:
19
20 AliAnalysisTaskEmcalJetTriggerQA();
21 AliAnalysisTaskEmcalJetTriggerQA(const char *name);
22 virtual ~AliAnalysisTaskEmcalJetTriggerQA();
23
24 void UserCreateOutputObjects();
25 void Terminate(Option_t *option);
26
0531c107 27 void LoadExtraBranches();
28
29 Bool_t SelectEvent(); //decides if event is used for analysis
30 void FindTriggerPatch();
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
0714a353 40 Int_t GetLeadingCellId(const AliVCluster *clus) const;
41 Double_t GetEnergyLeadingCell(const AliVCluster *clus) const;
0531c107 42
43 Double_t GetZ(const AliVParticle *trk, const AliEmcalJet *jet) const;
44 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;
45
46 protected:
0714a353 47 void ExecOnce() ;
0531c107 48 Bool_t FillHistograms() ;
49 Bool_t Run() ;
50
51 Bool_t TestFilterBit(Int_t trigBit, UInt_t bitJetTrig) const {return (Bool_t) ((trigBit & bitJetTrig) != 0);}
52
53
0531c107 54 private:
0714a353 55 Bool_t fDebug; // debug level
56 Bool_t fUseAnaUtils; // used for LHC13* data
57 AliAnalysisUtils *fAnalysisUtils; //! vertex selection
58 TString fTriggerClass; // trigger class to analyze EJ1 or EJ2
59 UInt_t fBitJ1; // trigger bit of EJE1
60 UInt_t fBitJ2; // trigger bit of EJE2
61 Int_t fContainerFull; // number of container with full jets DET
62 Int_t fContainerCharged; // number of container with charged jets DET
63 Double_t fMaxPatchEnergy; // energy of patch with largest energy
64 Int_t fTriggerType; // trigger type
65 Int_t fNFastOR; // size of trigger patch fNFastORxfNFastOR
0531c107 66
67 TH1F *fhNEvents; //! Histo number of events
68 TH3F *fh3PtEtaPhiJetFull; //! pt,eta,phi of full jets
69 TH3F *fh3PtEtaPhiJetCharged; //! pt,eta,phi of charged jets
70 TH2F *fh2NJetsPtFull; //! NJets per event vs pT,jet
71 TH2F *fh2NJetsPtCharged; //! NJets per event vs pT,jet
72 TH3F *fh3PtEtaAreaJetFull; //! pt,eta,area of full jet
73 TH3F *fh3PtEtaAreaJetCharged; //! pt,eta,area of charged jets
74 TH2F *fh2PtNConstituentsCharged; //! pt, # charged jet constituents
75 TH2F *fh2PtNConstituents; //! pt, # jet constituents
76 TH2F *fh2PtMeanPtConstituentsCharged; //! pt, <pt> charged constituents
77 TH2F *fh2PtMeanPtConstituentsNeutral; //! pt, <pt> neutral constituents
78 TH2F *fh2PtNEF; //! pt, NEF (neutral energy fraction)
3c709670 79 TH3F *fh3NEFEtaPhi; //! NEF, eta, phi
80 TH2F *fh2NEFNConstituentsCharged; //! NEF, # charged jet constituents
81 TH2F *fh2NEFNConstituentsNeutral; //! NEF, # neutral jet constituents
82 TH2F *fh2Ptz; //! pt, z=pT,h,proj/p,jet full jet
83 TH2F *fh2PtzCharged; //! pt, z=pT,h,proj/p,jet charged jet
0531c107 84 TH2F *fh2PtLeadJet1VsLeadJet2; //! correlation between leading jet of the two branches
85 TH3F *fh3EEtaPhiCluster; //! cluster E, eta, phi
86 TH3F *fh3PtLeadJet1VsPatchEnergy; //! leading jet energy vs leading patch energy vs jet trigger (J1/J2)
87 TH3F *fh3PtLeadJet2VsPatchEnergy; //! leading jet energy vs leading patch energy vs jet trigger (J1/J2)
584095b1 88 TH3F *fh3PatchEnergyEtaPhiCenterJ1; //! patch energy vs eta, phi at center of patch, high threshold
89 TH3F *fh3PatchEnergyEtaPhiCenterJ2; //! patch energy vs eta, phi at center of patch, low threshold
992189ac 90 TH2F *fh2CellEnergyVsTime; //! emcal cell energy vs time
0714a353 91 TH3F *fh3EClusELeadingCellVsTime; //! cluster energy vs energy of leading cell in cluster vs time of the leading cell
0531c107 92
93
94 AliAnalysisTaskEmcalJetTriggerQA(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented
95 AliAnalysisTaskEmcalJetTriggerQA &operator=(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented
96
584095b1 97 ClassDef(AliAnalysisTaskEmcalJetTriggerQA, 5)
0531c107 98};
99#endif