]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.h
add task to manager
[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 TH1;
9 class TH2;
10 class TH3;
11 class AliJetContainer;
12 class AliParticleContainer;
13 class AliClusterContainer;
14
15 #include "AliAnalysisTaskEmcalJet.h"
16
17 class AliAnalysisTaskDeltaPt : public AliAnalysisTaskEmcalJet {
18  public:
19
20   AliAnalysisTaskDeltaPt();
21   AliAnalysisTaskDeltaPt(const char *name);
22   virtual ~AliAnalysisTaskDeltaPt() {;}
23
24   void                        UserCreateOutputObjects();
25
26   void                        SetJetMinRC2LJ(Float_t d)                            { fMinRC2LJ                = d          ; }
27   void                        SetRCperEvent(Int_t n)                               { fRCperEvent              = n          ; }
28   void                        SetMCJetPtThreshold(Double_t t)                      { fMCJetPtThreshold        = t          ; }
29   void                        SetConeRadius(Double_t r)                            { fConeRadius              = r          ; }
30   void                        SetConeEtaPhiEMCAL() ;
31   void                        SetConeEtaPhiTPC()   ;
32   void                        SetConeEtaLimits(Float_t min, Float_t max)           { fConeMinEta = min, fConeMaxEta = max  ; }
33   void                        SetConePhiLimits(Float_t min, Float_t max)           { fConeMinPhi = min, fConeMaxPhi = max  ; }
34
35  protected:
36   void                        AllocateHistogramArrays()                                                                     ;
37   void                        ExecOnce()                                                                                    ;
38   Bool_t                      FillHistograms()                                                                              ;
39   void                        GetLeadingJets(Int_t &maxJetIndex, Int_t &max2JetIndex)                                       ;
40   AliEmcalJet*                NextEmbeddedJet(Bool_t reset=kFALSE)                                                          ;
41   void                        DoEmbTrackLoop()                                                                              ;
42   void                        DoEmbClusterLoop()                                                                            ;
43   void                        GetRandomCone(Float_t &pt, Float_t &eta, Float_t &phi, AliParticleContainer* tracks, AliClusterContainer* clusters,
44                                             AliEmcalJet *jet = 0, Bool_t bPartialExclusion = 0) const;
45   Double_t                    GetNColl() const;
46
47
48   Double_t                    fMCJetPtThreshold;           // threshold for MC jets
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   AliJetContainer            *fEmbJetsCont;                //!Embedded jets
61   AliParticleContainer       *fEmbTracksCont;              //!Embedded tracks
62   AliClusterContainer        *fEmbCaloClustersCont;        //!Embedded clusters  
63   AliParticleContainer       *fRandTracksCont;             //!Randomized tracks
64   AliClusterContainer        *fRandCaloClustersCont;       //!Randomized clusters
65
66   // Random cones
67   TH2                        *fHistRCPhiEta;               //!Phi-Eta distribution of random cones
68   TH1                       **fHistRCPt;                   //!Random cone pt
69   TH1                       **fHistRCPtExLJ;               //!Random cone pt, imposing min distance from leading jet
70   TH1                       **fHistRCPtExPartialLJ;        //!Random cone pt, imposing min distance from leading jet with 1/ncoll probability
71   TH1                       **fHistRCPtRand;               //!Random cone pt, randomized particles
72   TH2                       **fHistRhoVSRCPt;              //!Area(RC) * rho vs. Pt(RC)
73   TH2                       **fHistDeltaPtRCvsEP;          //!deltaPt = Pt(RC) - A * rho vs. event plane
74   TH1                       **fHistDeltaPtRCExLJ;          //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet
75   TH1                       **fHistDeltaPtRCExPartialLJ;   //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet with 1/ncoll probability
76   TH1                       **fHistDeltaPtRCRand;          //!deltaPt = Pt(RC) - A * rho, randomzied particles
77
78   // Jet embedding
79   TH3                       **fHistEmbJetsPtArea;          //!Pt vs. area of embedded jets
80   TH3                       **fHistEmbJetsCorrPtArea;      //!Pt-rho*A vs. area of embedded jets
81   TH2                       **fHistEmbPartPtvsJetPt;       //!MC jet pt total jet pt
82   TH2                       **fHistEmbPartPtvsJetCorrPt;   //!MC jet pt total jet pt - rho*A
83   TH2                       **fHistJetPtvsJetCorrPt;       //!Pt vs jet pt - rho*A
84   TH1                       **fHistDistLeadPart2JetAxis;   //!Distance between leading particle and jet axis
85   TH2                       **fHistEmbBkgArea;             //!Pt(embjet) - Pt(embtrack) vs. area of embedded jets
86   TH2                       **fHistRhoVSEmbBkg;            //!Area(embjet) * rho vs. Pt(embjet) - Pt(embtrack)
87   TH2                       **fHistDeltaPtEmbArea;         //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack) vs. Area(embjet)
88   TH2                       **fHistDeltaPtEmbvsEP;         //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack) vs. event plane
89   TH2                        *fHistRCPtExLJVSDPhiLJ;       //!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet
90   TH2                        *fHistRCPtExPartialLJVSDPhiLJ;//!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet with 1/ncoll probability
91   TH2                        *fHistEmbJetsPhiEta;          //!Phi-Eta distribution of embedded jets
92   TH2                        *fHistLeadPartPhiEta;         //!Phi-Eta distribution of the leading particle of embedded jets
93
94  private:
95   AliAnalysisTaskDeltaPt(const AliAnalysisTaskDeltaPt&);            // not implemented
96   AliAnalysisTaskDeltaPt &operator=(const AliAnalysisTaskDeltaPt&); // not implemented
97
98   ClassDef(AliAnalysisTaskDeltaPt, 5) // deltaPt analysis task
99 };
100 #endif