]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/AliAnalysisTaskSAJF.h
update from salvatore
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliAnalysisTaskSAJF.h
1 #ifndef ALIANALYSISTASKSAJF_H
2 #define ALIANALYSISTASKSAJF_H
3
4 // $Id$
5
6 class TClonesArray;
7 class TString;
8 class TH1F;
9 class TH2F;
10
11 #include "AliAnalysisTaskEmcal.h"
12
13 class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcal {
14  public:
15
16   AliAnalysisTaskSAJF();
17   AliAnalysisTaskSAJF(const char *name);
18   virtual ~AliAnalysisTaskSAJF();
19
20   void                        UserCreateOutputObjects();
21   void                        Terminate(Option_t *option);
22   void                        Init();
23
24   void                        SetJetMinRC2LJ(Float_t d)                            { fMinRC2LJ       = d          ; } 
25   void                        SetEmbJetsName(const char *n)                        { fEmbJetsName    = n          ; }
26   void                        SetRandTracksName(const char *n)                     { fRandTracksName = n          ; }
27   void                        SetRandClusName(const char *n)                       { fRandCaloName   = n          ; }
28   void                        SetRhoName(const char *n)                            { fRhoName        = n          ; }
29
30  protected:
31
32   void                        RetrieveEventObjects()                                                                        ;
33   void                        FillHistograms()                                                                              ;
34   void                        DoJetLoop(Int_t &maxJetIndex, Int_t &max2JetIndex)                                            ;
35   void                        DoEmbJetLoop(AliEmcalJet* &embJet, TObject* &maxPart)                                         ;
36   void                        DoTrackLoop(Int_t maxJetIndex)                                                                ;
37   void                        DoClusterLoop(Int_t maxJetIndex)                                                              ;
38   void                        GetRigidCone(Float_t &pt, Float_t &eta, Float_t &phi, Bool_t acceptMC = kFALSE, 
39                                            AliEmcalJet *jet = 0, TClonesArray* tracks = 0, TClonesArray* clusters = 0) const;
40
41   Float_t                     fMinRC2LJ;                   // Minimum distance random cone to leading jet
42   TString                     fEmbJetsName;                // Name of embedded jets collection
43   TString                     fRandTracksName;             // Name of randomized track collection
44   TString                     fRandCaloName;               // Name of randomized calo cluster collection
45   TString                     fRhoName;                    // Name of rho object
46
47   TClonesArray               *fEmbJets;                    //!Embedded Jets
48   TClonesArray               *fRandTracks;                 //!Randomized tracks
49   TClonesArray               *fRandCaloClusters;           //!Randomized clusters
50   Float_t                     fRho;                        //!Event rho
51
52   // General histograms
53   TH1F                       *fHistCentrality;             //!Event centrality distribution
54   TH2F                       *fHistJetPhiEta[4];           //!Phi-Eta distribution of jets
55   TH1F                       *fHistJetsPt[4];              //!Inclusive jet pt spectrum
56   TH2F                       *fHistJetsPtArea[4];          //!Jet pt vs. area
57   TH1F                       *fHistJetsPtClus[4];          //!Inclusive jet pt spectrum cluster biased
58   TH1F                       *fHistJetsPtTrack[4];         //!Inclusive jet pt spectrum track biased
59   TH1F                       *fHistJetsPtNonBias[4];       //!Non biased inclusive jet pt spectrum
60   TH1F                       *fHistLeadingJetPt[4];        //!Leading jet pt spectrum
61   TH1F                       *fHist2LeadingJetPt[4];       //!Second leading jet pt spectrum
62   TH2F                       *fHistJetsNEFvsPt[4];         //!Jet neutral energy fraction vs. jet pt
63   TH2F                       *fHistJetsZvsPt[4];           //!Constituent Pt over Jet Pt ratio vs. jet pt
64   TH1F                       *fHistTracksPtLJ[4];          //!Pt spectrum of tracks belonging to the leading jet
65   TH1F                       *fHistClusEtLJ[4];            //!Et spectrum of clusters belonging to the leading jet
66   TH1F                       *fHistTracksPtBkg[4];         //!Pt spectrum of tracks not belonging to the leading jet
67   TH1F                       *fHistClusEtBkg[4];           //!Et spectrum of clusters not belonging to the leading jet
68
69   // Rho
70   TH1F                       *fHistRho[4];                 //!Rho distribution
71   TH2F                       *fHistRhoVSleadJetPt;         //!Area(leadjetarea) * rho vs. leading jet pt
72   TH1F                       *fHistCorrJetsPt[4];          //!Corrected inclusive jet pt spectrum
73   TH1F                       *fHistCorrJetsPtClus[4];      //!Corrected inclusive jet pt spectrum cluster biased
74   TH1F                       *fHistCorrJetsPtTrack[4];     //!Corrected inclusive jet pt spectrum track biased
75   TH1F                       *fHistCorrJetsPtNonBias[4];   //!Non biased corrected inclusive jet pt spectrum
76   TH1F                       *fHistCorrLeadingJetPt[4];    //!Corrected leading jet pt spectrum
77
78   // Random cones
79   TH2F                       *fHistRCPhiEta;               //!Phi-Eta distribution of random cones
80   TH1F                       *fHistRCPt[4];                //!Random cone pt
81   TH1F                       *fHistRCPtExLJ[4];            //!Random cone pt, imposing min distance from leading jet
82   TH1F                       *fHistRCPtRand[4];            //!Random cone pt, randomized particles
83   TH2F                       *fHistRCPtExLJVSDPhiLJ;       //!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet
84   TH2F                       *fHistRhoVSRCPt;              //!Rho vs. Pt(RCExLJ) / Area(RCExLJ)
85   TH1F                       *fHistDeltaPtRC[4];           //!deltaPt = Pt(RC) - A * rho
86   TH1F                       *fHistDeltaPtRCExLJ[4];       //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet
87   TH1F                       *fHistDeltaPtRCRand[4];       //!deltaPt = Pt(RC) - A * rho, randomzied particles
88
89   // Jet embedding
90   TH1F                       *fHistEmbJets[4];             //!Pt distribution of embedded jets
91   TH1F                       *fHistEmbPart[4];             //!Pt distribution of embedded particle
92   TH2F                       *fHistEmbJetPhiEta;           //!Phi-Eta distribution of embedded jets
93   TH2F                       *fHistEmbPartPhiEta;          //!Phi-Eta distribution of embedded particles
94   TH2F                       *fHistRhoVSEmbBkg;            //!Area(embjet) * rho vs. Pt(embjet) - Pt(embtrack)
95   TH1F                       *fHistDeltaPtEmb[4];          //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack)
96
97  private:
98   AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&);            // not implemented
99   AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
100
101   ClassDef(AliAnalysisTaskSAJF, 5) // jet analysis task
102 };
103 #endif