]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/AliHadCorrTask.h
added rho parameter
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliHadCorrTask.h
1 #ifndef ALIHADCORRTASK_H
2 #define ALIHADCORRTASK_H
3
4 // $Id$
5
6 class TClonesArray;
7 class TList;
8 class TH1F;
9 class TH2F;
10 class AliEmcalParticle;
11 class TString;
12
13 #include "AliAnalysisTaskEmcal.h"
14
15 class AliHadCorrTask : public AliAnalysisTaskEmcal {
16
17  public:
18   AliHadCorrTask();
19   AliHadCorrTask(const char *name); 
20   AliHadCorrTask(const char *name, Bool_t histo); 
21   virtual ~AliHadCorrTask();
22
23   void         UserCreateOutputObjects();
24   void         Terminate(Option_t *);
25
26   void         SetOutClusName(const char *n)           { fOutCaloName    = n    ; }
27   void         SetEtaMatch(Double_t eta)               { fEtaMatch       = eta  ; }
28   void         SetPhiMatch(Double_t phi)               { fPhiMatch       = phi  ; }
29   void         SetTrackClus(Int_t c)                   { fDoTrackClus    = c    ; }
30   void         SetHadCorr(Double_t c)                  { fHadCorr        = c    ; }
31   void         SetEexcl(Double_t Emin)                 { fEexclCell      = Emin ; }
32
33  protected:
34
35   virtual Bool_t       Run()                                          ;
36   virtual Bool_t       FillHistograms()                { return kTRUE ; }
37   Int_t                GetMomBin(Double_t pt)                    const;
38   Double_t             GetEtaSigma(Int_t pbin)                   const;
39   Double_t             GetPhiMean(Int_t pbin, Int_t centbin)     const;
40   Double_t             GetPhiSigma(Int_t pbin, Int_t centbin)    const;
41   void                 DoTrackClusLoop()                              ;
42   void                 DoMatchedTracksLoop(AliEmcalParticle *emccluster, Double_t &totalTrkP, Int_t &Nmatches);
43   Double_t             ApplyHadCorrOneTrack(AliEmcalParticle *emccluster, Double_t hadCorr)                   ;
44   Double_t             ApplyHadCorrAllTracks(AliEmcalParticle *emccluster, Double_t hadCorr)                  ;
45
46
47   TString                fOutCaloName;            // name of output clusters
48   Double_t               fPhiMatch;               // phi match value (pp=0.050)
49   Double_t               fEtaMatch;               // eta match value (pp=0.025)
50   Int_t                  fDoTrackClus;            // loop over tracks first
51   Double_t               fHadCorr;                // hadronic correction (fraction)
52   Double_t               fEexclCell;              // Energy/cell that we cannot subtract from the clusters
53
54   TClonesArray          *fOutClusters;            //!output cluster collection
55
56   TH2F                  *fHistMatchEtaPhi[8][9][2];  //!output histograms
57   TH2F                  *fHistMatchEvsP[4];          //!output histograms
58   TH2F                  *fHistNMatchEnergy[4];       //!output histograms
59   TH2F                  *fHistNCellsEnergy[8][4];    //!output histograms
60   TH2F                  *fHistMatchdRvsEP[4];        //!output histograms
61   TH1F                  *fHistNclusvsCent;           //!output histograms
62   TH1F                  *fHistNclusMatchvsCent;      //!output histograms
63   TH1F                  *fHistEbefore;               //!output histograms
64   TH1F                  *fHistEafter;                //!output histograms
65   TH2F                  *fHistEoPCent;               //!output histograms
66   TH2F                  *fHistNMatchCent;            //!output histograms
67   TH2F                  *fHistNMatchCent_trk;        //!output histograms
68   TH1F                  *fHistEsubPch[8];            //!output histograms
69   TH2F                  *fHistEsubPchRat[8];         //!output histograms
70   TH1F                  *fHistCentrality;            //!output histograms
71   TH2F                  *fHistNoMatchEtaPhi;         //!output histograms
72
73  private:
74   AliHadCorrTask(const AliHadCorrTask&);            // not implemented
75   AliHadCorrTask &operator=(const AliHadCorrTask&); // not implemented
76
77   ClassDef(AliHadCorrTask, 9) // Hadronic correction task
78 };
79 #endif