]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTriggerQA.h
updates trigger QA
[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
11 #include <TRef.h>
12 #include <TBits.h>
13 #include <TMath.h>
14
15 #include <AliVEvent.h>
16
17 #include "AliAnalysisTaskEmcalJet.h"
18
19 class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJet {
20  public:
21
22   AliAnalysisTaskEmcalJetTriggerQA();
23   AliAnalysisTaskEmcalJetTriggerQA(const char *name);
24   virtual ~AliAnalysisTaskEmcalJetTriggerQA();
25
26   void                        UserCreateOutputObjects();
27   void                        Terminate(Option_t *option);
28
29   Bool_t                      SelectEvent();              //decides if event is used for analysis
30   void                        FillTriggerPatchHistos();
31
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  
37   void SetContainerFull(Int_t c)            { fContainerFull      = c;}
38   void SetContainerCharged(Int_t c)         { fContainerCharged   = c;}
39
40   Int_t    GetLeadingCellId(const AliVCluster *clus) const;
41   Double_t GetEnergyLeadingCell(const AliVCluster *clus) const;
42   Double_t GetECross(Int_t absID) const;
43
44   Double_t GetZ(const AliVParticle *trk, const AliEmcalJet *jet)       const;
45   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;
46
47  protected:
48   Bool_t                      FillHistograms()   ;
49   Bool_t                      Run()              ;
50   Float_t                     RelativeEP(Double_t objAng, Double_t EPAng) const;
51   Bool_t                      TestFilterBit(Int_t trigBit, UInt_t bitJetTrig) const {return (Bool_t) ((trigBit & bitJetTrig) != 0);}
52
53  private:
54   Bool_t             fDebug;                 // debug level
55   TString            fTriggerClass;          // trigger class to analyze EJ1 or EJ2    
56   Int_t              fContainerFull;         // number of container with full jets DET
57   Int_t              fContainerCharged;      // number of container with charged jets DET
58   Double_t           fMaxPatchEnergy;        // energy of patch with largest energy
59   Int_t              fTriggerType;           // trigger type
60   Int_t              fNFastOR;               // size of trigger patch fNFastORxfNFastOR
61
62   TH1F  *fhNEvents;                         //! Histo number of events
63   TH2F  *fHistRhovsCentFull;                //!rho vs. centrality
64   TH2F  *fHistRhovsCentCharged;             //!rho vs. centrality
65   TH3F  *fh3PtEtaPhiTracks;                 //! pt,eta,phi of tracks
66   TH3F  *fh3PtEtaPhiTracksOnEmcal;          //! pt,eta,phi of tracks
67   TH3F  *fh3PtEtaPhiTracksProp;             //! pt,eta,phi of tracks
68   TH2F  *fh2CentPtJetFull;                  //! cent, pt of full jets
69   TH2F  *fh2CentPtJetCharged;               //! cent, pt of charged jets
70   TH3F  *fh3PtEtaPhiJetFull;                //! pt,eta,phi of full jets
71   TH3F  *fh3PtEtaPhiJetCharged;             //! pt,eta,phi of charged jets
72   TH2F  *fh2NJetsPtFull;                    //! NJets per event vs pT,jet
73   TH2F  *fh2NJetsPtCharged;                 //! NJets per event vs pT,jet
74   TH3F  *fh3PtEtaAreaJetFull;               //! pt,eta,area of full jet
75   TH3F  *fh3PtEtaAreaJetCharged;            //! pt,eta,area of charged jets
76   TH2F  *fh2PtNConstituentsCharged;         //! pt, # charged jet constituents
77   TH2F  *fh2PtNConstituents;                //! pt, # jet constituents
78   TH2F  *fh2PtMeanPtConstituentsCharged;    //! pt, <pt> charged constituents
79   TH2F  *fh2PtMeanPtConstituentsNeutral;    //! pt, <pt> neutral constituents
80   TH2F  *fh2PtNEF;                          //! pt, NEF (neutral energy fraction)
81   TH3F  *fh3NEFEtaPhi;                      //! NEF, eta, phi
82   TH2F  *fh2NEFNConstituentsCharged;        //! NEF, # charged jet constituents
83   TH2F  *fh2NEFNConstituentsNeutral;        //! NEF, # neutral jet constituents
84   TH2F  *fh2Ptz;                            //! pt, z=pT,h,proj/p,jet full jet
85   TH2F  *fh2PtzCharged;                     //! pt, z=pT,h,proj/p,jet charged jet
86   TH2F  *fh2PtLeadJet1VsLeadJet2;           //! correlation between leading jet of the two branches
87   TH3F  *fh3EEtaPhiCluster;                 //! cluster E, eta, phi
88   TH3F  *fh3PtLeadJet1VsPatchEnergy;        //! leading jet energy vs leading patch energy vs jet trigger (J1/J2)
89   TH3F  *fh3PtLeadJet2VsPatchEnergy;        //! leading jet energy vs leading patch energy vs jet trigger (J1/J2)
90   TH3F  *fh3PatchEnergyEtaPhiCenterJ1;      //! patch energy vs eta, phi at center of patch, high threshold
91   TH3F  *fh3PatchEnergyEtaPhiCenterJ2;      //! patch energy vs eta, phi at center of patch, low threshold
92   TH3F  *fh3PatchEnergyEtaPhiCenterJ1J2;    //! patch energy vs eta, phi at center of patch, low + high threshold
93   TH3F  *fh3PatchADCEnergyEtaPhiCenterJ1;   //! patch ADC energy vs eta, phi at center of patch, high threshold
94   TH3F  *fh3PatchADCEnergyEtaPhiCenterJ2;   //! patch ADC energy vs eta, phi at center of patch, low threshold
95   TH3F  *fh3PatchADCEnergyEtaPhiCenterJ1J2; //! patch ADC energy vs eta, phi at center of patch, low + high threshold
96   TH2F  *fh2CellEnergyVsTime;               //! emcal cell energy vs time
97   TH3F  *fh3EClusELeadingCellVsTime;        //! cluster energy vs energy of leading cell in cluster vs time of the leading cell
98   TH3F  *fh3JetReacCent;                    //! jet energy vs cent vs dphi(jet,event plane)
99     
100   AliAnalysisTaskEmcalJetTriggerQA(const AliAnalysisTaskEmcalJetTriggerQA&);            // not implemented
101   AliAnalysisTaskEmcalJetTriggerQA &operator=(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented
102
103   ClassDef(AliAnalysisTaskEmcalJetTriggerQA, 10)
104 };
105 #endif