AliPhysics  a6017e1 (a6017e1)
AliAnalysisTaskHadronicCocktailMC.h
Go to the documentation of this file.
1 #ifndef ALIANLYSISTASKHADRONICCOCKTAILMC_cxx
2 #define ALIANLYSISTASKHADRONICCOCKTAILMC_cxx
3 
4 #include "AliAnalysisTaskSE.h"
5 #include "AliAnalysisManager.h"
6 #include "AliGenEMCocktailV2.h"
7 #include "AliMCGenHandler.h"
8 #include "AliGenerator.h"
9 
11  public:
12 
14  AliAnalysisTaskHadronicCocktailMC(const char *name);
16 
17  virtual void UserCreateOutputObjects();
18  virtual void UserExec(Option_t *);
19  virtual void Terminate(const Option_t*);
20 
21  // MC functions
23  void ProcessMCParticles();
24 
25  // setters
26  void SetMaxY(Double_t maxy){fMaxY = maxy;}
27  void SetMaxEta(Double_t maxeta){fMaxEta = maxeta;}
28  void SetLightOutput(Bool_t flag) {fDoLightOutput = flag;}
29  void SetWideBinning(Bool_t doWideBinning){fWideBinning = doWideBinning;}
30  void SetAnalyzedParticle(Int_t flag);
31  void SetHasMother(UInt_t selectedMothers);
32  TH1* SetHist1D(TH1* hist, TString histType, TString histName, TString xTitle, TString yTitle, Int_t nBinsX, Double_t xMin, Double_t xMax, Bool_t optSumw2);
33  TH2* SetHist2D(TH2* hist, TString histType, TString histName, TString xTitle, TString yTitle, Int_t nBinsX, Double_t xMin, Double_t xMax, Int_t nBinsY, Double_t yMin, Double_t yMax, Bool_t optSumw2);
34  TH2* SetHist2D(TH2* hist, TString histType, TString histName, TString xTitle, TString yTitle, Int_t nBinsX, Double_t xMin, Double_t xMax, Int_t nBinsY, Double_t* binsY, Bool_t optSumw2);
35  void SetLogBinningXTH1(TH1* histoRebin);
36  void SetLogBinningXTH2(TH2* histoRebin);
37 
38  // getters
40  Float_t GetDecayChannel(AliMCEvent* mcEvent, TParticle* part);
41  void GetAndSetPtParametrizations(AliGenEMCocktailV2* mcCocktailGen);
42  void GetAndSetPtYDistributions(AliGenEMCocktailV2* mcCocktailGen);
43 
44  // additional functions
45  void InitializeDecayChannelHist(TH1F* hist, Int_t np);
46  void FillPythiaBranchingRatio(TH1F* histo, Int_t np);
47 
48  protected:
49  TList* fOutputContainer; // Output container
50 
51  AliVEvent* fInputEvent; // current event
52  AliMCEvent* fMCEvent; // corresponding MC event
53  AliMCGenHandler* fMCGenHandler;
54  const AliGenerator* fMCGenerator;
55  AliGenEMCocktailV2* fMCCocktailGen;
56 
57  Int_t fAnalyzedMeson; // switch for analyzing pi0 (0), eta (1), pi+-(2)
58  Bool_t fAnalyzeNeutralPi; // switch for pi0 analysis
59  Bool_t fAnalyzeChargedPi; // switch for pi+- analysis
60  Bool_t fDoLightOutput; // switch for running light
61  Bool_t fWideBinning; // switch for 500 pT bins
62  Bool_t fHasMother[24]; // mother i produced
63 
64  // nEvent histogram
65  TH1F* fHistNEvents; // number of events histo
66 
67  // histograms mesons
73  TH1F** fHistPythiaBR;
74 
77 
80 
85 
86  Int_t* fParticleList; // array with particle Pdg values
87  TString* fParticleListNames; // array with particle names
88 
89  // generator settings
90  TF1* fPtParametrization[24];
93  TObjString* fCocktailSettings[12];
96 
99  Int_t fIsMC; // MC flag
100  Double_t fMaxY; // Max y
101  Double_t fMaxEta; // Max Eta
102 
103 
104  private:
105  AliAnalysisTaskHadronicCocktailMC(const AliAnalysisTaskHadronicCocktailMC&); // Prevent copy-construction
107 
108  ClassDef(AliAnalysisTaskHadronicCocktailMC, 10);
109 };
110 
111 #endif
112 
113 
114 
115 
116 
117 
118 
119 
120 
121 
122 
123 
Int_t pdg
TH2F ** fHistPtYInput
histo for phi of input particles
double Double_t
Definition: External.C:58
Definition: External.C:236
AliAnalysisTaskHadronicCocktailMC & operator=(const AliAnalysisTaskHadronicCocktailMC &)
void GetAndSetPtYDistributions(AliGenEMCocktailV2 *mcCocktailGen)
TH2F ** fHistPtYDaughterSource
histo for pi0/eta from input particles
TH1 * SetHist1D(TH1 *hist, TString histType, TString histName, TString xTitle, TString yTitle, Int_t nBinsX, Double_t xMin, Double_t xMax, Bool_t optSumw2)
int Int_t
Definition: External.C:63
Float_t GetDecayChannel(AliMCEvent *mcEvent, TParticle *part)
Definition: External.C:204
unsigned int UInt_t
Definition: External.C:33
float Float_t
Definition: External.C:68
TH1I * fHistPdgInputRest
histo for phi correlation of gammas from input particles to source
TH2 * SetHist2D(TH2 *hist, TString histType, TString histName, TString xTitle, TString yTitle, Int_t nBinsX, Double_t xMin, Double_t xMax, Int_t nBinsY, Double_t yMin, Double_t yMax, Bool_t optSumw2)
Definition: External.C:212
TH1F ** fHistDecayChannelsInput
histo for input particles
TH2F ** fHistPtPhiInput
histo for phi of pi0/eta from input particles
TH2F ** fHistPtPhiGammaFromPi0FromInput
gammas from pi0 from k0s, k0l, lambda
Bool_t isMC
Definition: External.C:220
TH2F ** fHistPhiDaughterPhiSourceInput
histo for pt correlation of gammas from input particles to source
TH2F ** fHistPtDaughterPtSourceInput
histo for input particle BR from pythia
TH2F ** fHistPtYGammaFromXFromInput
histo for gamma from rest
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
TH2F ** fHistPtPhiGammaFromXFromInput
gammas from X from k0s, k0l, lambda
Double_t yMin
void GetAndSetPtParametrizations(AliGenEMCocktailV2 *mcCocktailGen)
Definition: External.C:196
TH1F ** fHistPythiaBR
histo for input particle decay channels
Double_t yMax