AliPhysics  f05a842 (f05a842)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskChargedParticlesMCTriggerMimic.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKCHARGEDPARTICLESMCTRIGGERMIMIC_H
2 #define ALIANALYSISTASKCHARGEDPARTICLESMCTRIGGERMIMIC_H
3 /* Copyright(c) 1998-2016, 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 <TBits.h>
9 #include <TCustomBinning.h>
10 #include <TString.h>
11 
12 class TClonesArray;
13 class THistManager;
14 
15 class AliAnalysisUtils;
17 class AliGenPythiaEventHeader;
18 class AliMCEvent;
19 class AliVParticle;
20 
21 namespace EMCalTriggerPtAnalysis {
22 
23 class AliEMCalTriggerWeightHandler;
24 
38 public:
39 
45  kpPb = 1,
46  kPbp = -1
47  };
48 
53  enum PatchType_t {
54  kEMCEGA = 0,
55  kEMCEJE = 1,
56  kUndef = -1
57  };
58 
63  enum Observable_t {
64  kTracks = 0,
65  kClusters = 1,
68  };
69 
73 
74  void SetRapidityShift(Double_t yshift) { fYshift = yshift; }
75  void SetBeamDirection(BeamDirection_t beamdir) { fEtaSign = static_cast<Double_t>(beamdir); }
76 
77  void SetAnalysisUtil(AliAnalysisUtils *util) { fAliAnalysisUtils = util; }
79  void SetEtaLabCut(double etamin, double etamax) { fEtaLabCut.SetLimits(etamin, etamax); }
80  void SetEtaCMSCut(double etamin, double etamax) { fEtaCmsCut.SetLimits(etamin, etamax); }
81  void InitializeTrackCuts(TString cutname, bool isAOD);
83  void SetNameClusters(const TString &nameClusters) { fNameClusters = nameClusters; }
84 
85  void SetEMCALTrigger(PatchType_t patchtype, Double_t threshold) { fPatchType = patchtype; fEnergyThreshold = threshold; }
86  void SetObservable(Observable_t observable) { fObservables.SetBitNumber(observable); }
87  Bool_t HasObservable(Observable_t observable) { return fObservables.TestBitNumber(observable); }
88 
89 protected:
90 
91  virtual void UserCreateOutputObjects();
92  virtual Bool_t IsEventSelected();
93  virtual Bool_t Run();
94 
95  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, const char *pid);
96  void FillClusterHistos(double weight, double energy, double transversenergy, double eta, double phi);
97  void FillPatchHistos(const char *patchname, double weight, double energy, double transverseenergy, double eta, double phi, int col, int row);
98  Bool_t IsPhysicalPrimary(const AliVParticle* const part, AliMCEvent* const mcevent);
99 
100  Bool_t SelectEmcalTrigger(const TClonesArray * triggerpatches);
101 
102 private:
103 
104  class PtBinning : public TCustomBinning{
105  public:
106  PtBinning();
107  virtual ~PtBinning() {}
108  };
109 
112 
113 
117 
118  // Kinematical selection
123 
124  // Trigger specific information
127 
128  // Settings
129  TBits fObservables;
131 
135 };
136 
137 } /* namespace EMCalTriggerPtAnalysis */
138 
139 #endif /* ALIANALYSISTASKCHARGEDPARTICLEMCTRIGGERMIMIC_H */
Interface for virtual track selection.
double Double_t
Definition: External.C:58
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, const char *pid)
Base task in the EMCAL framework.
AliCutValueRange< double > fEtaCmsCut
Cut applied in Eta centre-of-mass frame.
void FillPatchHistos(const char *patchname, double weight, double energy, double transverseenergy, double eta, double phi, int col, int row)
AliAnalysisTaskChargedParticlesMCTriggerMimic & operator=(const AliAnalysisTaskChargedParticlesMCTriggerMimic &)
const Double_t etamin
AliAnalysisUtils * fAliAnalysisUtils
!vertex selection (optional)
Helper class creating user defined custom binning.
energy
void FillClusterHistos(double weight, double energy, double transversenergy, double eta, double phi)
Bool_t IsPhysicalPrimary(const AliVParticle *const part, AliMCEvent *const mcevent)
const Double_t etamax
Container class for histograms for the high- charged particle analysis.
Definition: THistManager.h:43
Double_t fEtaSign
Sign of the eta distribution (swaps when beam directions swap): p-Pb: +1, Pb-p: -1.
bool Bool_t
Definition: External.C:53