1 #ifndef ALIEMCALJETBYJETCORRECTION_H
2 #define ALIEMCALJETBYJETCORRECTION_H
7 #include <TClonesArray.h>
13 class AliEmcalJetByJetCorrection : public TNamed
17 AliEmcalJetByJetCorrection();
18 AliEmcalJetByJetCorrection(const char* name);
19 AliEmcalJetByJetCorrection(const AliEmcalJetByJetCorrection &jet);
20 AliEmcalJetByJetCorrection& operator=(const AliEmcalJetByJetCorrection &jet);
21 ~AliEmcalJetByJetCorrection() {;}
23 void SetTemplate(TH3 *h) { fh3JetPtDRTrackPt = h; }
24 void SetJetPtBinWidth(Double_t w) { fBinWidthJetPt = w; }
25 void SetJetPtRange(Double_t min, Double_t max) {fJetPtMin = min; fJetPtMax = max;}
26 void SetFixedTrackEfficiency(Double_t eff) { fEfficiencyFixed = eff; }
27 void SetEfficiencyHist(TH1 *h) { fhEfficiency = h ; }
29 Int_t GetJetPtBin(const Double_t jetpt) const;
30 Double_t GetEfficiency(const Double_t pt) const;
31 Double_t GetMeanPtConstituents(const AliEmcalJet *jet, TClonesArray *fTracks) const;
33 TProfile *GetAppliedEfficiency() const {return fpAppliedEfficiency;}
36 AliEmcalJet *Eval(const AliEmcalJet *jet, TClonesArray *fTracks);
39 TH3 *fh3JetPtDRTrackPt; // 3D template
40 Double_t fBinWidthJetPt; // jet pt bin width in which to do correction
41 Double_t fJetPtMin; // minimum jet pt
42 Double_t fJetPtMax; // maximum jet pt
43 TObjArray fCollTemplates; // templates (2D histos with track pT vs r)
44 Bool_t fInitialized; // status of initialization
45 Double_t fEfficiencyFixed; // fixed efficiency for all pT and all types of tracks
46 TH1 *fhEfficiency; // single particle efficiency
48 //book-keeping object filled inside Eval()
49 TProfile *fpAppliedEfficiency; // Control profile efficiency
52 ClassDef(AliEmcalJetByJetCorrection, 2) // jet-by-jet correction class