AliPhysics  d497547 (d497547)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliJetFastSimulation.h
Go to the documentation of this file.
1 #ifndef ALIJETFASTSIMULATION_H
2 #define ALIJETFASTSIMULATION_H
3 
4 // $Id$
5 
6 class TClonesArray;
7 class TRandom3;
8 class AliVParticle;
9 class AliPicoTrack;
10 
11 #include "AliAnalysisTaskEmcal.h"
12 
14  public:
16  AliJetFastSimulation(const char *name);
17  virtual ~AliJetFastSimulation();
18 
19  virtual void LocalInit();
20  virtual void UserCreateOutputObjects();
21 
22  void SetTracksOutName(const char *n) { fTracksOutName = n; }
25 
26  void SetUseTrResolutionFromOADB(Bool_t b=kTRUE, TString path="$ALICE_PHYSICS/OADB/PWGJE/Resolution/PtResol_LHCh_Cent0-10_v1.root") {fUseTrPtResolutionFromOADB = b; fPathTrPtResolution=path;}
27  void SetUseTrEfficiencyFromOADB(Bool_t b=kTRUE, TString path="$ALICE_PHYSICS/OADB/PWGJE/Efficiency/Efficiency_LHC11a2aj_Cent0_v1.root") {fUseTrEfficiencyFromOADB = b; fPathTrEfficiency=path;}
31  void SetUncertEfficiency(Double_t uncerteff) { fUncertEfficiency =uncerteff;}
32  protected:
33  void ExecOnce();
34  Bool_t Run();
35 
36  void SimulateTracks();
40  void FitMomentumResolution();
43  void SetMomentumResolutionHybrid(TProfile *p1, TProfile *p2, TProfile *p3);
44  void SetEfficiencyHybrid(TH1 *h1, TH1 *h2, TH1 *h3);
45 
46  TString fTracksOutName; // name of output track collection
47  TClonesArray *fTracksOut;
48  Int_t fNTrackClasses; // number of track classes
49  TRandom3 *fRandom;
50  Double_t fEfficiencyFixed; // fixed efficiency for all pT and all types of tracks
51  TProfile *fMomResH1; // Momentum resolution from TrackQA Hybrid Category 1
52  TProfile *fMomResH2; // Momentum resolution from TrackQA Hybrid Category 2
53  TProfile *fMomResH3; // Momentum resolution from TrackQA Hybrid Category 3
54  TF1 *fMomResH1Fit; // fit to momentum resolution
55  TF1 *fMomResH2Fit; // fit to momentum resolution
56  TF1 *fMomResH3Fit; // fit to momentum resolution
57  TH1 *fhEffH1; // Efficiency for Spectra Hybrid Category 1
58  TH1 *fhEffH2; // Efficiency for Spectra Hybrid Category 2
59  TH1 *fhEffH3; // Efficiency for Spectra Hybrid Category 3
60  Bool_t fUseTrPtResolutionSmearing; // Apply momentum smearing on track level
61  Int_t fUseDiceEfficiency; // Flag to apply efficiency on track level by dicing 0: no dicing; 1: dicing wrt to input branch;
62  Double_t fDiceEfficiencyMinPt; // Only do efficiency dicing for tracks above this pt
63  Double_t fUncertEfficiency; //tracking efficiency uncertainty, usually +-0.4%
64  Bool_t fUseTrPtResolutionFromOADB; // Load track pt resolution root file from OADB path
65  Bool_t fUseTrEfficiencyFromOADB; // Load tracking efficiency root file from OADB path
66  TString fPathTrPtResolution; // OADB path to root file
67  TString fPathTrEfficiency; // OADB path to root file
68 
69  //Output objects
70  TH1F *fHistPtDet;
72  TProfile *fp1Efficiency;
73  TProfile *fp1PtResolution;
74 
75 
76  private:
77  AliJetFastSimulation(const AliJetFastSimulation&); // not implemented
78  AliJetFastSimulation &operator=(const AliJetFastSimulation&); // not implemented
79 
80  ClassDef(AliJetFastSimulation, 1) // Jet fast simulation task
81 };
82 #endif
Bool_t DiceEfficiency(AliPicoTrack *vp, Double_t eff[3], Double_t rnd)
Int_t fNTrackClasses
output track collection
void SetUseTrResolutionFromOADB(Bool_t b=kTRUE, TString path="$ALICE_PHYSICS/OADB/PWGJE/Resolution/PtResol_LHCh_Cent0-10_v1.root")
double Double_t
Definition: External.C:58
Definition: External.C:236
void SetDiceEfficiency(Int_t b)
AliJetFastSimulation & operator=(const AliJetFastSimulation &)
Base task in the EMCAL framework.
virtual void UserCreateOutputObjects()
void SetFixedTrackEfficiency(Double_t eff)
void SetUseTrEfficiencyFromOADB(Bool_t b=kTRUE, TString path="$ALICE_PHYSICS/OADB/PWGJE/Efficiency/Efficiency_LHC11a2aj_Cent0_v1.root")
Double_t fEfficiencyFixed
random number generator
void SetEfficiencyHybrid(TH1 *h1, TH1 *h2, TH1 *h3)
TProfile * fp1Efficiency
Control histo smeared momentum.
void SetTracksOutName(const char *n)
TH2F * fh2PtGenPtSmeared
pT spectrum of detector level particles
void SetUncertEfficiency(Double_t uncerteff)
AliPicoTrack * SmearPt(AliPicoTrack *vp, Double_t eff[3], Double_t rnd)
int Int_t
Definition: External.C:63
void SetNTrackClasses(Int_t i)
void SetMomentumResolutionHybrid(TProfile *p1, TProfile *p2, TProfile *p3)
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
Double_t GetMomentumSmearing(Int_t cat, Double_t pt)
void ExecOnce()
Perform steps needed to initialize the analysis.
void SetSmearResolution(Bool_t b)
bool Bool_t
Definition: External.C:53
TProfile * fp1PtResolution
Control profile efficiency.
void SetDiceEfficiencyMinPt(Double_t pt)
Definition: External.C:196