]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.h
DiJet analysis updates (Marta)
[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
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, Bool_t bPartialExclusion = 0) const;
42   Double_t                    GetNColl() const;
43
44
45   Double_t                    fMCJetPtThreshold;           // threshold for MC jets
46   Float_t                     fMinRC2LJ;                   // Minimum distance random cone to leading jet
47   TString                     fEmbJetsName;                // Name of embedded jet collection
48   TString                     fEmbTracksName;              // Name of embedded track collection
49   TString                     fEmbCaloName;                // Name of embedded calo cluster collection
50   TString                     fRandTracksName;             // Name of randomized track collection
51   TString                     fRandCaloName;               // Name of randomized calo cluster collection
52   Int_t                       fRCperEvent;                 // No. of random cones per event
53
54   TClonesArray               *fEmbJets;                    //!Embedded jets
55   TClonesArray               *fEmbTracks;                  //!Embedded tracks
56   TClonesArray               *fEmbCaloClusters;            //!Embedded clusters  
57   TClonesArray               *fRandTracks;                 //!Randomized tracks
58   TClonesArray               *fRandCaloClusters;           //!Randomized clusters
59   Int_t                       fEmbeddedClusterNIds;        //!Embedded cluster id count
60   Int_t                       fEmbeddedClusterIds[999];    //!Embedded cluster ids
61   Int_t                       fEmbeddedTrackNIds;          //!Embedded track id count
62   Int_t                       fEmbeddedTrackIds[999];      //!Embedded track ids
63
64   // Random cones
65   TH2                        *fHistRCPhiEta;               //!Phi-Eta distribution of random cones
66   TH1                       **fHistRCPt;                   //!Random cone pt
67   TH1                       **fHistRCPtExLJ;               //!Random cone pt, imposing min distance from leading jet
68   TH1                       **fHistRCPtExPartialLJ;        //!Random cone pt, imposing min distance from leading jet with 1/ncoll probability
69   TH1                       **fHistRCPtRand;               //!Random cone pt, randomized particles
70   TH2                       **fHistRhoVSRCPt;              //!Area(RC) * rho vs. Pt(RC)
71   TH1                       **fHistDeltaPtRC;              //!deltaPt = Pt(RC) - A * rho
72   TH1                       **fHistDeltaPtRCExLJ;          //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet
73   TH1                       **fHistDeltaPtRCExPartialLJ;   //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet with 1/ncoll probability
74   TH1                       **fHistDeltaPtRCRand;          //!deltaPt = Pt(RC) - A * rho, randomzied particles
75
76   // Jet embedding
77   TH1                       **fHistEmbNotFoundPt;          //!Pt of "not found" embedded particles
78   TH2                       **fHistEmbNotFoundPhiEta;      //!Phi-Eta of "not found" embedded particles
79   TH2                       **fHistEmbRejectedJetsPhiEta;  //!Phi-Eta of rejected embedded jets
80   TH1                       **fHistEmbRejectedJetsPtArea;  //!Pt-area of rejected embedded jets
81   TH3                       **fHistEmbJetsPtArea;          //!Pt vs. area of embedded jets
82   TH3                       **fHistEmbJetsCorrPtArea;      //!Pt-rho*A vs. area of embedded jets
83   TH2                       **fHistEmbPartPtvsJetPt;       //!MC jet pt total jet pt
84   TH2                       **fHistEmbPartPtvsJetCorrPt;   //!MC jet pt total jet pt - rho*A
85   TH2                       **fHistJetPtvsJetCorrPt;       //!Pt vs jet pt - rho*A
86   TH1                       **fHistDistLeadPart2JetAxis;   //!Distance between leading particle and jet axis
87   TH2                       **fHistEmbBkgArea;             //!Pt(embjet) - Pt(embtrack) vs. area of embedded jets
88   TH2                       **fHistRhoVSEmbBkg;            //!Area(embjet) * rho vs. Pt(embjet) - Pt(embtrack)
89   TH2                       **fHistDeltaPtEmbArea;         //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack)
90   TH2                        *fHistRCPtExLJVSDPhiLJ;       //!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet
91   TH2                        *fHistRCPtExPartialLJVSDPhiLJ;//!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet with 1/ncoll probability
92   TH2                        *fHistEmbJetsPhiEta;          //!Phi-Eta distribution of embedded jets<
93   TH2                        *fHistLeadPartPhiEta;         //!Phi-Eta distribution of the leading particle of embedded jets
94
95  private:
96   AliAnalysisTaskDeltaPt(const AliAnalysisTaskDeltaPt&);            // not implemented
97   AliAnalysisTaskDeltaPt &operator=(const AliAnalysisTaskDeltaPt&); // not implemented
98
99   ClassDef(AliAnalysisTaskDeltaPt, 4) // deltaPt analysis task
100 };
101 #endif