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