]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTriggerQA.h
From Marta and Redmer:
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetTriggerQA.h
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 "AliAnalysisTaskEmcalJetDev.h"
16
17 class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJetDev {
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
33   //Setters
34   void SetDebug(Int_t d)                    { fDebug = d;}
35   void SetTriggerClass(const char *n)       { fTriggerClass = n; }
36   void SetNFastorPatch(Int_t i)             { fNFastOR = i;}
37  
38   void SetContainerFull(Int_t c)            { fContainerFull      = c;}
39   void SetContainerCharged(Int_t c)         { fContainerCharged   = c;}
40
41
42   Double_t GetZ(const AliVParticle *trk, const AliEmcalJet *jet)       const;
43   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;
44
45  protected:
46   Bool_t                      FillHistograms()   ;
47   Bool_t                      Run()              ;
48
49   Bool_t                      TestFilterBit(Int_t trigBit, UInt_t bitJetTrig) const {return (Bool_t) ((trigBit & bitJetTrig) != 0);}
50
51
52
53  private:
54   Bool_t            fDebug;                 //  debug level
55   Bool_t            fUseAnaUtils;           //  used for LHC13* data
56   AliAnalysisUtils *fAnalysisUtils;         //! vertex selection
57   TString           fTriggerClass;          // trigger class to analyze EJ1 or EJ2    
58   UInt_t            fBitJ1;                 // trigger bit of EJE1
59   UInt_t            fBitJ2;                 // trigger bit of EJE2
60   Int_t             fContainerFull;             //  number of container with full jets DET
61   Int_t             fContainerCharged;          //  number of container with charged jets DET
62   Double_t          fMaxPatchEnergy;        // energy of patch with largest energy
63   Int_t             fTriggerType;           // trigger type
64   Int_t             fNFastOR;               // size of trigger patch fNFastORxfNFastOR
65
66   TH1F  *fhNEvents;                         //! Histo number of events
67   TH3F  *fh3PtEtaPhiJetFull;                //! pt,eta,phi of full jets
68   TH3F  *fh3PtEtaPhiJetCharged;             //! pt,eta,phi of charged jets
69   TH2F  *fh2NJetsPtFull;                    //! NJets per event vs pT,jet
70   TH2F  *fh2NJetsPtCharged;                 //! NJets per event vs pT,jet
71   TH3F  *fh3PtEtaAreaJetFull;               //! pt,eta,area of full jet
72   TH3F  *fh3PtEtaAreaJetCharged;            //! pt,eta,area of charged jets
73   TH2F  *fh2PtNConstituentsCharged;         //! pt, # charged jet constituents
74   TH2F  *fh2PtNConstituents;                //! pt, # jet constituents
75   TH2F  *fh2PtMeanPtConstituentsCharged;    //! pt, <pt> charged constituents
76   TH2F  *fh2PtMeanPtConstituentsNeutral;    //! pt, <pt> neutral constituents
77   TH2F  *fh2PtNEF;                          //! pt, NEF (neutral energy fraction)
78   TH2F  *fh2Ptz;                            //! pt, z=pT,h,proj/p,jet
79   TH2F  *fh2PtLeadJet1VsLeadJet2;           //! correlation between leading jet of the two branches
80   TH3F  *fh3EEtaPhiCluster;                 //! cluster E, eta, phi
81   TH3F  *fh3PtLeadJet1VsPatchEnergy;        //! leading jet energy vs leading patch energy vs jet trigger (J1/J2)
82   TH3F  *fh3PtLeadJet2VsPatchEnergy;        //! leading jet energy vs leading patch energy vs jet trigger (J1/J2)
83   TH3F  *fh3PatchEnergyEtaPhiCenter;        //! patch energy vs eta, phi at center of patch
84   TH2F  *fh2CellEnergyVsTime;               //! emcal cell energy vs time
85
86
87   AliAnalysisTaskEmcalJetTriggerQA(const AliAnalysisTaskEmcalJetTriggerQA&);            // not implemented
88   AliAnalysisTaskEmcalJetTriggerQA &operator=(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented
89
90   ClassDef(AliAnalysisTaskEmcalJetTriggerQA, 2)
91 };
92 #endif