AliPhysics  v5-06-40-01 (42bb456)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
AliAnalysisTaskChargedParticlesRefMC.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKCHARGEDPARTICLESREFMC_H
2 #define ALIANALYSISTASKCHARGEDPARTICLESREFMC_H
3 /* Copyright(c) 1998-2015, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 #include "AliAnalysisTaskSE.h"
7 #include <TString.h>
8 
9 class TArrayD;
10 class TClonesArray;
11 
12 class AliAnalysisUtils;
13 class AliAODTrack;
14 class AliESDtrack;
15 class AliESDtrackCuts;
16 class AliGenPythiaEventHeader;
17 class AliVParticle;
18 class AliMCEvent;
19 
20 namespace EMCalTriggerPtAnalysis {
21 
22 class AliEMCalHistoContainer;
32 class AliAnalysisTaskChargedParticlesRefMC: public AliAnalysisTaskSE {
33 public:
35  kpPb = 1,
36  kPbp = -1
37  };
39  AliAnalysisTaskChargedParticlesRefMC(const char *name);
41 
43  void UserExec(Option_t *);
44  Bool_t UserNotify();
45  void Terminate(Option_t *) {}
46 
47  void SetRapidityShift(Double_t yshift) { fYshift = yshift; }
48  void SetBeamDirection(BeamDirection_t beamdir) { fEtaSign = static_cast<Double_t>(beamdir); }
49 
50  void SetEtaLabCut(double etamin, double etamax) { fEtaLabCut[0] = etamin; fEtaLabCut[1] = etamax; }
51  void SetEtaCMSCut(double etamin, double etamax) { fEtaCmsCut[0] = etamin; fEtaCmsCut[1] = etamax; }
52 
53 protected:
54  void CreateOldPtBinning(TArrayD &binning) const;
55  void CreateNewPtBinning(TArrayD &binning) const;
56 
57  void FillTrackHistos(const char *eventclass, Double_t pt, Double_t eta, Double_t etacent, Double_t phi, Bool_t etacut, Bool_t inEmcal);
58 
59  Bool_t TrackSelectionESD(AliESDtrack *track);
60  Bool_t TrackSelectionAOD(AliAODTrack *track);
61  TString GetFiredTriggerClasses(const TClonesArray * triggerpatches);
62  Bool_t PythiaInfoFromFile(const char* currFile, Float_t &fXsec, Float_t &fTrials, Int_t &pthard) const;
63  AliGenPythiaEventHeader *GetPythiaHeader() const;
64  Bool_t IsPhysicalPrimary(const AliVParticle *const part, AliMCEvent *const mcevent);
65 
66 
67  AliESDtrackCuts *fTrackCuts;
68  AliAnalysisUtils *fAnalysisUtil;
70 
71  // Monte-Carlo specific information
72  Double_t fPtHard;
73  Int_t fPtHardBin;
74  Int_t fNTrials;
75  Float_t fXsection;
76 
77  Double_t fYshift;
78  Double_t fEtaSign;
79  Double_t fEtaLabCut[2];
80  Double_t fEtaCmsCut[2];
81 
82 private:
85 
89 };
90 
91 } /* namespace EMCalTriggerPtAnalysis */
92 
93 #endif /* ALIANALYSISTASKCHARGEDPARTICLESREFMC_H */
Container class for histograms for the high- charged particle analysis.
AliAnalysisTaskChargedParticlesRefMC & operator=(const AliAnalysisTaskChargedParticlesRefMC &)
const Double_t etamin
Bool_t IsPhysicalPrimary(const AliVParticle *const part, AliMCEvent *const mcevent)
Bool_t PythiaInfoFromFile(const char *currFile, Float_t &fXsec, Float_t &fTrials, Int_t &pthard) const
Unit test class for charged particle distributions (MC case)
void FillTrackHistos(const char *eventclass, Double_t pt, Double_t eta, Double_t etacent, Double_t phi, Bool_t etacut, Bool_t inEmcal)
const Double_t etamax
Double_t fEtaSign
Sign of the eta distribution (swaps when beam directions swap): p-Pb: +1, Pb-p: -1.