AliPhysics  b095172 (b095172)
 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 "AliAnalysisTaskEmcal.h"
7 #include "AliCutValueRange.h"
8 #include <TString.h>
9 #include <TCustomBinning.h>
10 
11 #include <string>
12 #include <vector>
13 
14 class TArrayD;
15 class TClonesArray;
16 class THistManager;
17 
18 class AliAnalysisUtils;
19 class AliAODTrack;
20 class AliEMCALGeometry;
21 class AliESDtrack;
23 class AliGenPythiaEventHeader;
24 class AliVParticle;
25 class AliMCEvent;
26 
27 namespace EMCalTriggerPtAnalysis {
28 
29 class AliEMCalTriggerWeightHandler;
30 
41 public:
43  kpPb = 1,
44  kPbp = -1
45  };
46 
48  AliAnalysisTaskChargedParticlesRefMC(const char *name);
50 
51  void SetRapidityShift(Double_t yshift) { fYshift = yshift; }
52  void SetBeamDirection(BeamDirection_t beamdir) { fEtaSign = static_cast<Double_t>(beamdir); }
53 
54  void SetAnalysisUtil(AliAnalysisUtils *util) { fAliAnalysisUtils = util; }
56  void SetEtaLabCut(double etamin, double etamax) { fEtaLabCut.SetLimits(etamin, etamax); }
57  void SetEtaCMSCut(double etamin, double etamax) { fEtaCmsCut.SetLimits(etamin, etamax); }
59  void InitializeTrackCuts(TString cutname, bool isAOD);
61 
62 protected:
63  virtual void UserCreateOutputObjects();
64  virtual bool Run();
65  virtual bool IsEventSelected();
66 
67  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);
68  void FillTriggerJetHistograms(Bool_t aftercut, AliGenPythiaEventHeader *const header);
69 
70  TString GetFiredTriggerClasses(const TClonesArray * triggerpatches);
71  Bool_t IsPhysicalPrimary(const AliVParticle *const part, AliMCEvent *const mcevent);
72 
73 private:
74 
75  class PtBinning : public TCustomBinning{
76  public:
77  PtBinning();
78  virtual ~PtBinning() {}
79  };
80 
83 
88 
89  std::vector<std::string> fEventTriggers;
91 
97 
101 };
102 
103 } /* namespace EMCalTriggerPtAnalysis */
104 
105 #endif /* ALIANALYSISTASKCHARGEDPARTICLESREFMC_H */
Interface for virtual track selection.
const AliEMCalTriggerWeightHandler * fWeightHandler
Weight handler (optional)
double Double_t
Definition: External.C:58
std::vector< std::string > fEventTriggers
! Temporary container for selected triggers
void FillTriggerJetHistograms(Bool_t aftercut, AliGenPythiaEventHeader *const header)
AliCutValueRange< double > fEtaLabCut
Cut applied in Eta Lab frame.
Base task in the EMCAL framework.
Double_t fFracPtHard
Cut on the maximum fraction of pt hard of any trigger jet.
AliAnalysisTaskChargedParticlesRefMC & operator=(const AliAnalysisTaskChargedParticlesRefMC &)
AliCutValueRange< double > fEtaCmsCut
Cut applied in Eta centre-of-mass frame.
const Double_t etamin
AliEmcalTriggerOfflineSelection * fTriggerSelection
Offline trigger selection.
Bool_t IsPhysicalPrimary(const AliVParticle *const part, AliMCEvent *const mcevent)
AliAnalysisUtils * fAliAnalysisUtils
!vertex selection (optional)
Helper class creating user defined custom binning.
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
bool Bool_t
Definition: External.C:53