]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/AliAnalysisTaskSAJF.h
cosmetics
[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 "AliAnalysisTaskEmcalJet.h"
12
13 class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcalJet {
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   void                        SetSkipEventsWithNoJets(Bool_t s)                    { fSkipEventsWithNoJets    = s          ; } 
30
31  protected:
32
33   Bool_t                      RetrieveEventObjects()                                                                        ;
34   Bool_t                      FillHistograms()                                                                              ;
35   void                        GetLeadingJets(Int_t &maxJetIndex, Int_t &max2JetIndex)                                       ;
36   void                        DoJetLoop()                                                                                   ;
37   void                        DoEmbJetLoop(AliEmcalJet* &embJet, TObject* &maxPart)                                         ;
38   void                        DoTrackLoop(Int_t maxJetIndex)                                                                ;
39   void                        DoClusterLoop(Int_t maxJetIndex)                                                              ;
40   void                        GetRigidCone(Float_t &pt, Float_t &eta, Float_t &phi, Bool_t acceptMC = kFALSE, 
41                                            AliEmcalJet *jet = 0, TClonesArray* tracks = 0, TClonesArray* clusters = 0) const;
42
43   Float_t                     fMinRC2LJ;                   // Minimum distance random cone to leading jet
44   TString                     fEmbJetsName;                // Name of embedded jets collection
45   TString                     fRandTracksName;             // Name of randomized track collection
46   TString                     fRandCaloName;               // Name of randomized calo cluster collection
47   TString                     fRhoName;                    // Name of rho object
48   Bool_t                      fSkipEventsWithNoJets;       // Whether or not skip events with no jets
49
50   TClonesArray               *fEmbJets;                    //!Embedded Jets
51   TClonesArray               *fRandTracks;                 //!Randomized tracks
52   TClonesArray               *fRandCaloClusters;           //!Randomized clusters
53   Float_t                     fRho;                        //!Event rho
54
55   // General histograms
56   TH1F                       *fHistCentrality;             //!Event centrality distribution
57   TH1F                       *fHistRejectedEvents;         //!Rejected events
58   TH2F                       *fHistJetPhiEta[4];           //!Phi-Eta distribution of jets
59   TH1F                       *fHistJetsPt[4];              //!Inclusive jet pt spectrum
60   TH2F                       *fHistJetsPtArea[4];          //!Jet pt vs. area
61   TH1F                       *fHistLeadingJetPt[4];        //!Leading jet pt spectrum
62   TH1F                       *fHist2LeadingJetPt[4];       //!Second leading jet pt spectrum
63   TH2F                       *fHistJetsNEFvsPt[4];         //!Jet neutral energy fraction vs. jet pt
64   TH2F                       *fHistJetsZvsPt[4];           //!Constituent Pt over Jet Pt ratio vs. jet pt
65
66   // Rho
67   TH1F                       *fHistRho[4];                 //!Rho distribution
68   TH2F                       *fHistRhoVSleadJetPt;         //!Area(leadjetarea) * rho vs. leading jet pt
69   TH1F                       *fHistCorrJetsPt[4];          //!Corrected inclusive jet pt spectrum
70   TH1F                       *fHistCorrLeadingJetPt[4];    //!Corrected leading jet pt spectrum
71
72   // Random cones
73   TH2F                       *fHistRCPhiEta;               //!Phi-Eta distribution of random cones
74   TH1F                       *fHistRCPt[4];                //!Random cone pt
75   TH1F                       *fHistRCPtExLJ[4];            //!Random cone pt, imposing min distance from leading jet
76   TH1F                       *fHistRCPtRand[4];            //!Random cone pt, randomized particles
77   TH2F                       *fHistRCPtExLJVSDPhiLJ;       //!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet
78   TH2F                       *fHistRhoVSRCPt;              //!Rho vs. Pt(RCExLJ) / Area(RCExLJ)
79   TH1F                       *fHistDeltaPtRC[4];           //!deltaPt = Pt(RC) - A * rho
80   TH1F                       *fHistDeltaPtRCExLJ[4];       //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet
81   TH1F                       *fHistDeltaPtRCRand[4];       //!deltaPt = Pt(RC) - A * rho, randomzied particles
82
83   // Jet embedding
84   TH1F                       *fHistEmbJets[4];             //!Pt distribution of embedded jets
85   TH1F                       *fHistEmbPart[4];             //!Pt distribution of embedded particle
86   TH2F                       *fHistEmbJetPhiEta;           //!Phi-Eta distribution of embedded jets
87   TH2F                       *fHistEmbPartPhiEta;          //!Phi-Eta distribution of embedded particles
88   TH2F                       *fHistRhoVSEmbBkg;            //!Area(embjet) * rho vs. Pt(embjet) - Pt(embtrack)
89   TH1F                       *fHistDeltaPtEmb[4];          //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack)
90
91  private:
92   AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&);            // not implemented
93   AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
94
95   ClassDef(AliAnalysisTaskSAJF, 6) // jet analysis task
96 };
97 #endif