]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetMassBkg.h
a3d90938587df5d2485310632c466e510685a946
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetMassBkg.h
1 #ifndef ALIANALYSISTASKEMCALJETMASSBKG_H
2 #define ALIANALYSISTASKEMCALJETMASSBKG_H
3
4 class TH1;
5 class TH2;
6 class TH3;
7 class TH3F;
8 class THnSparse;
9 class TClonesArray;
10 class TArrayI;
11 class AliAnalysisManager;
12 class AliJetContainer;
13
14 #include "AliAnalysisTaskEmcalJet.h"
15
16 class AliAnalysisTaskEmcalJetMassBkg : public AliAnalysisTaskEmcalJet {
17  public:
18
19   AliAnalysisTaskEmcalJetMassBkg();
20   AliAnalysisTaskEmcalJetMassBkg(const char *name);
21   virtual ~AliAnalysisTaskEmcalJetMassBkg();
22
23   void                        UserCreateOutputObjects();
24   void                        Terminate(Option_t *option);
25
26   //Setters
27   void                        SetJetContainerBase(Int_t c)                         { fContainerBase           = c          ; }
28
29   void                        SetJetMinRC2LJ(Float_t d)                            { fMinRC2LJ                = d          ; }
30   void                        SetRCperEvent(Int_t n)                               { fRCperEvent              = n          ; }
31   void                        SetConeRadius(Double_t r)                            { fConeRadius              = r          ; }
32   void                        SetConeEtaPhiEMCAL() ;
33   void                        SetConeEtaPhiTPC()   ;
34   void                        SetConeEtaLimits(Float_t min, Float_t max)           { fConeMinEta = min, fConeMaxEta = max  ; }
35   void                        SetConePhiLimits(Float_t min, Float_t max)           { fConeMinPhi = min, fConeMaxPhi = max  ; }
36
37  protected:
38   void                        ExecOnce();
39   Bool_t                      RetrieveEventObjects();
40   Bool_t                      Run();
41   Bool_t                      FillHistograms();
42
43   void                        GetRandomCone(TLorentzVector& lvRC, Float_t &pt, Float_t &eta, Float_t &phi, AliParticleContainer* tracks, AliClusterContainer* clusters, AliEmcalJet *jet = 0) const;
44   void                        GetCone(TLorentzVector& lvRC,Float_t &pt, Float_t eta, Float_t phi, AliParticleContainer* tracks, AliClusterContainer* clusters) const;
45   void                        GetPerpCone(TLorentzVector& lvRC, Float_t &pt, Float_t &eta, Float_t &phi, AliParticleContainer* tracks, AliClusterContainer* clusters, AliEmcalJet *jet = 0) const;
46
47   Int_t                       fContainerBase;              // jets to be tagged
48
49   Float_t                     fMinRC2LJ;                   // Minimum distance random cone to leading jet
50   Int_t                       fRCperEvent;                 // No. of random cones per event
51   Double_t                    fConeRadius;                 // Radius of the random cones
52   Float_t                     fConeMinEta;                 // Minimum eta of the random cones
53   Float_t                     fConeMaxEta;                 // Maximum eta of the random cones
54   Float_t                     fConeMinPhi;                 // Minimum phi of the random cones
55   Float_t                     fConeMaxPhi;                 // Maximum phi of the random cones
56   
57   AliJetContainer            *fJetsCont;                   //!Jets
58   AliParticleContainer       *fTracksCont;                 //!Tracks
59   AliClusterContainer        *fCaloClustersCont;           //!Clusters  
60
61  private:
62   TH2F            **fh2PtVsMassRC;                //!pT vs mass of RC
63   TH3F            **fh2PtVsMassRCExLJDPhi;        //!pT vs mass of RC excluding area around leading jet
64   TH2F            **fh2PtVsMassPerpConeLJ;        //!pT vs mass of cone perpendicular to leading jet
65   TH2F            **fh2PtVsMassPerpConeTJ;        //!pT vs mass of cone perpendicular to all tagged jets
66
67   TProfile        **fpPtVsMassRC;                 //!pT vs Avg mass of RC
68   TProfile        **fpPtVsMassRCExLJ;             //!pT vs Avg mass of RC excluding area around leading jet
69   TProfile        **fpPtVsMassPerpConeLJ;         //!pT vs Avg mass of cone perpendicular to leading jet
70   TProfile        **fpPtVsMassPerpConeTJ;         //!pT vs Avg mass of cone perpendicular to all tagged jets
71
72   TH2F            **fh2EtaVsMassRC;               //!eta vs mass of RC
73   TH2F            **fh2EtaVsMassRCExLJ;           //!eta vs mass of RC excluding area around leading jet
74   TH2F            **fh2EtaVsMassPerpConeLJ;       //!eta vs mass of cone perpendicular to leading jet
75   TH2F            **fh2EtaVsMassPerpConeTJ;       //!eta vs mass of cone perpendicular to all tagged jets
76
77   TH2F             *fh2CentVsMassRC;              //!cent vs mass of RC
78   TH2F             *fh2CentVsMassRCExLJ;          //!cent vs mass of RC excluding area around leading jet
79   TH2F             *fh2CentVsMassPerpConeLJ;      //!cent vs mass of RC perpendicular to leading jet
80   TH2F             *fh2CentVsMassPerpConeTJ;      //!cent vs mass of RC perpendicular to tagged jets
81
82   TH2F             *fh2MultVsMassRC;              //!track multiplicity vs mass of RC
83   TH2F             *fh2MultVsMassRCExLJ;          //!track multiplicity vs mass of RC excluding area around leading jet
84   TH2F             *fh2MultVsMassPerpConeLJ;      //!track multiplicity vs mass of RC perpendicular to leading jet
85   TH2F             *fh2MultVsMassPerpConeTJ;      //!track multiplicity vs mass of RC perpendicular to tagged jets
86
87   TH2F             *fh2CentVsMedianMassRC;        //!cent vs median mass of all RC in event
88   TH2F             *fh2CentVsMedianMassRCExLJ;    //!cent vs meidan mass mass of all RC in event excluding area around leading jet
89
90   TH2F             *fh2MultVsMedianMassRC;        //!cent vs median mass of all RC in event
91   TH2F             *fh2MultVsMedianMassRCExLJ;    //!cent vs meidan mass mass of all RC in event excluding area around leading jet
92
93   TH2F             *fh2CentVsMeanMassRC;          //!cent vs median mass of all RC in event
94   TH2F             *fh2CentVsMeanMassRCExLJ;      //!cent vs meidan mass mass of all RC in event excluding area around leading jet
95
96   TH2F             *fh2MultVsMeanMassRC;          //!cent vs median mass of all RC in event
97   TH2F             *fh2MultVsMeanMassRCExLJ;      //!cent vs meidan mass mass of all RC in event excluding area around leading jet
98
99   TH2F             *fh2CentVsMedianMassPerAreaRC;     //!cent vs median mass of all RC in event
100   TH2F             *fh2CentVsMedianMassPerAreaRCExLJ; //!cent vs meidan mass mass of all RC in event excluding area around leading jet
101
102   TH2F             *fh2MultVsMedianMassPerAreaRC;     //!cent vs median mass of all RC in event
103   TH2F             *fh2MultVsMedianMassPerAreaRCExLJ; //!cent vs meidan mass mass of all RC in event excluding area around leading jet
104
105   AliAnalysisTaskEmcalJetMassBkg(const AliAnalysisTaskEmcalJetMassBkg&);            // not implemented
106   AliAnalysisTaskEmcalJetMassBkg &operator=(const AliAnalysisTaskEmcalJetMassBkg&); // not implemented
107
108   ClassDef(AliAnalysisTaskEmcalJetMassBkg, 3)
109 };
110 #endif
111