AliPhysics  9fe175b (9fe175b)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 #include <TCustomBinning.h>
9 
10 class TArrayD;
11 class TClonesArray;
12 class THistManager;
13 
14 class AliAnalysisUtils;
15 class AliAODTrack;
16 class AliEMCALGeometry;
17 class AliESDtrack;
19 class AliGenPythiaEventHeader;
20 class AliVParticle;
21 class AliMCEvent;
22 
23 namespace EMCalTriggerPtAnalysis {
24 
25 class AliEMCalTriggerWeightHandler;
26 
36 class AliAnalysisTaskChargedParticlesRefMC: public AliAnalysisTaskSE {
37 public:
39  kpPb = 1,
40  kPbp = -1
41  };
42 
44  AliAnalysisTaskChargedParticlesRefMC(const char *name);
46 
48  void UserExec(Option_t *);
49  Bool_t UserNotify();
50  void Terminate(Option_t *) {}
51 
52  void SetRapidityShift(Double_t yshift) { fYshift = yshift; }
53  void SetBeamDirection(BeamDirection_t beamdir) { fEtaSign = static_cast<Double_t>(beamdir); }
54 
55  void SetAnalysisUtil(AliAnalysisUtils *util) { fAnalysisUtil = util; }
57  void SetEtaLabCut(double etamin, double etamax) { fEtaLabCut[0] = etamin; fEtaLabCut[1] = etamax; }
58  void SetEtaCMSCut(double etamin, double etamax) { fEtaCmsCut[0] = etamin; fEtaCmsCut[1] = etamax; }
59  void SetOutlierCut(double fracpthard = 1.2) { fFracPtHard = fracpthard; }
61  void SetUsePythiaHard(Bool_t usePythiaHard) { fUsePythiaHard = usePythiaHard; }
62  void InitializeTrackCuts(TString cutname, bool isAOD);
64 
65 protected:
66  void FillTrackHistos(const char *eventclass, Double_t weight, Double_t pt, Double_t eta, Double_t etacent, Double_t phi, Bool_t etacut, Bool_t inEmcal, Bool_t hasTRD, const char *pid);
67  void FillTriggerJetHistograms(Bool_t aftercut, AliGenPythiaEventHeader *const header);
68 
69  TString GetFiredTriggerClasses(const TClonesArray * triggerpatches);
70  Bool_t PythiaInfoFromFile(const char* currFile, Float_t &fXsec, Float_t &fTrials, Int_t &pthard) const;
71  AliGenPythiaEventHeader *GetPythiaHeader() const;
72  Bool_t IsPhysicalPrimary(const AliVParticle *const part, AliMCEvent *const mcevent);
73  Bool_t IsOutlier(AliGenPythiaEventHeader * const header) const;
74 
75 
77  AliAnalysisUtils *fAnalysisUtil;
80  AliEMCALGeometry *fGeometry;
82 
83  // Monte-Carlo specific information
84  Bool_t fUsePythiaHard;
85  Double_t fPtHard;
86  Int_t fPtHardBin;
87  Int_t fNTrials;
88  Float_t fXsection;
89 
90  Double_t fYshift;
91  Double_t fEtaSign;
92  Double_t fEtaLabCut[2];
93  Double_t fEtaCmsCut[2];
94  Double_t fFracPtHard;
95 
96 private:
97 
98  class OldPtBinning : public TCustomBinning{
99  public:
100  OldPtBinning();
101  virtual ~OldPtBinning() {}
102  };
103  class NewPtBinning : public TCustomBinning{
104  public:
105  NewPtBinning();
106  virtual ~NewPtBinning() {}
107  };
108 
111 
115 };
116 
117 } /* namespace EMCalTriggerPtAnalysis */
118 
119 #endif /* ALIANALYSISTASKCHARGEDPARTICLESREFMC_H */
Interface for virtual track selection.
const AliEMCalTriggerWeightHandler * fWeightHandler
Weight handler (optional)
void FillTriggerJetHistograms(Bool_t aftercut, AliGenPythiaEventHeader *const header)
Double_t fFracPtHard
Cut on the maximum fraction of pt hard of any trigger jet.
AliAnalysisTaskChargedParticlesRefMC & operator=(const AliAnalysisTaskChargedParticlesRefMC &)
const Double_t etamin
AliEmcalTriggerOfflineSelection * fTriggerSelection
Offline trigger selection.
Bool_t IsPhysicalPrimary(const AliVParticle *const part, AliMCEvent *const mcevent)
Helper class creating user defined custom binning.
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 weight, Double_t pt, Double_t eta, Double_t etacent, Double_t phi, Bool_t etacut, Bool_t inEmcal, Bool_t hasTRD, const char *pid)
const Double_t etamax
Double_t fEtaSign
Sign of the eta distribution (swaps when beam directions swap): p-Pb: +1, Pb-p: -1.
Container class for histograms for the high- charged particle analysis.
Definition: THistManager.h:43