]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.h
Updates Salvatore Aiola
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskDeltaPt.h
1 #ifndef ALIANALYSISTASKDELTAPT_H
2 #define ALIANALYSISTASKDELTAPT_H
3
4 // $Id$
5
6 class TClonesArray;
7 class TString;
8 class TH1F;
9 class TH2F;
10 class AliRhoParameter;
11
12 #include "AliAnalysisTaskEmcalJet.h"
13
14 class AliAnalysisTaskDeltaPt : public AliAnalysisTaskEmcalJet {
15  public:
16
17   AliAnalysisTaskDeltaPt();
18   AliAnalysisTaskDeltaPt(const char *name);
19   virtual ~AliAnalysisTaskDeltaPt();
20
21   void                        UserCreateOutputObjects();
22   void                        Terminate(Option_t *option);
23
24   void                        SetJetMinRC2LJ(Float_t d)                            { fMinRC2LJ                = d          ; }
25   void                        SetEmbJetsName(const char *n)                        { fEmbJetsName             = n          ; } 
26   void                        SetEmbTracksName(const char *n)                      { fEmbTracksName           = n          ; }
27   void                        SetEmbClusName(const char *n)                        { fEmbCaloName             = n          ; }
28   void                        SetRandTracksName(const char *n)                     { fRandTracksName          = n          ; }
29   void                        SetRandClusName(const char *n)                       { fRandCaloName            = n          ; }
30   void                        SetRCperEvent(Int_t n)                               { fRCperEvent              = n          ; }
31   void                        SetMCJetPtThreshold(Double_t t)                      { fMCJetPtThreshold        = t          ; }
32
33  protected:
34   void                        ExecOnce()                                                                                    ;
35   Bool_t                      FillHistograms()                                                                              ;
36   void                        GetLeadingJets(Int_t &maxJetIndex, Int_t &max2JetIndex)                                       ;
37   AliEmcalJet*                NextEmbeddedJet(Int_t i=-1)                                                                   ;
38   void                        DoEmbTrackLoop()                                                                              ;
39   void                        DoEmbClusterLoop()                                                                            ;
40   void                        GetRandomCone(Float_t &pt, Float_t &eta, Float_t &phi, 
41                                             AliEmcalJet *jet = 0, TClonesArray* tracks = 0, TClonesArray* clusters = 0) const;
42
43   Double_t                    fMCJetPtThreshold;           // threshold for MC jets
44   Float_t                     fMinRC2LJ;                   // Minimum distance random cone to leading jet
45   TString                     fEmbJetsName;                // Name of embedded jet collection
46   TString                     fEmbTracksName;              // Name of embedded track collection
47   TString                     fEmbCaloName;                // Name of embedded calo cluster collection
48   TString                     fRandTracksName;             // Name of randomized track collection
49   TString                     fRandCaloName;               // Name of randomized calo cluster collection
50   Int_t                       fRCperEvent;                 // No. of random cones per event
51
52   TClonesArray               *fEmbJets;                    //!Embedded jets
53   TClonesArray               *fEmbTracks;                  //!Embedded tracks
54   TClonesArray               *fEmbCaloClusters;            //!Embedded clusters  
55   TClonesArray               *fRandTracks;                 //!Randomized tracks
56   TClonesArray               *fRandCaloClusters;           //!Randomized clusters
57   Int_t                       fEmbeddedClusterNIds;        //!Embedded cluster id count
58   Int_t                       fEmbeddedClusterIds[999];    //!Embedded cluster ids
59   Int_t                       fEmbeddedTrackNIds;          //!Embedded track id count
60   Int_t                       fEmbeddedTrackIds[999];      //!Embedded track ids
61
62   // Random cones
63   TH2F                       *fHistRCPhiEta;               //!Phi-Eta distribution of random cones
64   TH1F                       *fHistRCPt[4];                //!Random cone pt
65   TH1F                       *fHistRCPtExLJ[4];            //!Random cone pt, imposing min distance from leading jet
66   TH1F                       *fHistRCPtRand[4];            //!Random cone pt, randomized particles
67   TH2F                       *fHistRCPtExLJVSDPhiLJ;       //!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet
68   TH2F                       *fHistRhoVSRCPt[4];           //!Area(RC) * rho vs. Pt(RC)
69   TH1F                       *fHistDeltaPtRC[4];           //!deltaPt = Pt(RC) - A * rho
70   TH1F                       *fHistDeltaPtRCExLJ[4];       //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet
71   TH1F                       *fHistDeltaPtRCRand[4];       //!deltaPt = Pt(RC) - A * rho, randomzied particles
72
73   // Jet embedding
74   TH2F                       *fHistEmbNotFoundPhiEta[4];   //!Phi-Eta of "not found" embedded particles
75   TH2F                       *fHistEmbJetsPtArea[4];       //!Pt vs. area of embedded jets
76   TH2F                       *fHistEmbJetsCorrPtArea[4];   //!Pt-rho*A vs. area of embedded jets
77   TH1F                       *fHistEmbPartPt[4];           //!Pt distribution of embedded particle
78   TH2F                       *fHistEmbJetPhiEta;           //!Phi-Eta distribution of embedded jets
79   TH2F                       *fHistEmbPartPhiEta;          //!Phi-Eta distribution of embedded particles
80   TH1F                       *fHistDistEmbPartJetAxis[4];  //!Distance between embedded particle and jet axis
81   TH2F                       *fHistEmbBkgArea[4];          //!Pt(embjet) - Pt(embtrack) vs. area of embedded jets
82   TH2F                       *fHistRhoVSEmbBkg[4];         //!Area(embjet) * rho vs. Pt(embjet) - Pt(embtrack)
83   TH2F                       *fHistDeltaPtEmbArea[4];      //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack)
84
85  private:
86   AliAnalysisTaskDeltaPt(const AliAnalysisTaskDeltaPt&);            // not implemented
87   AliAnalysisTaskDeltaPt &operator=(const AliAnalysisTaskDeltaPt&); // not implemented
88
89   ClassDef(AliAnalysisTaskDeltaPt, 3) // deltaPt analysis task
90 };
91 #endif