AliPhysics  ec7afe5 (ec7afe5)
 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 
40 public:
41 
47  kpPb = 1,
48  kPbp = -1
49  };
50 
55  enum PatchType_t {
56  kEMCEGA = 0,
57  kEMCEJE = 1,
58  kUndef = -1
59  };
60 
65  enum Observable_t {
66  kTracks = 0,
67  kClusters = 1,
70  };
71 
75 
76  void SetRapidityShift(Double_t yshift) { fYshift = yshift; }
77  void SetBeamDirection(BeamDirection_t beamdir) { fEtaSign = static_cast<Double_t>(beamdir); }
78 
79  void SetAnalysisUtil(AliAnalysisUtils *util) { fAliAnalysisUtils = util; }
81  void SetEtaLabCut(double etamin, double etamax) { fEtaLabCut.SetLimits(etamin, etamax); }
82  void SetEtaCMSCut(double etamin, double etamax) { fEtaCmsCut.SetLimits(etamin, etamax); }
83  void SetTrackPhiCut(double phimin, double phimax) { fPhiCut.SetLimits(phimin, phimax); }
84 
85  void InitializeTrackCuts(TString cutname, bool isAOD);
87  void SetNameClusters(const TString &nameClusters) { fNameClusters = nameClusters; }
88 
89  void SetEMCALTrigger(PatchType_t patchtype, Double_t threshold) { fPatchType = patchtype; fEnergyThreshold = threshold; }
90  void SetObservable(Observable_t observable) { fObservables.SetBitNumber(observable); }
91  Bool_t HasObservable(Observable_t observable) { return fObservables.TestBitNumber(observable); }
92 
93 protected:
94 
95  virtual void UserCreateOutputObjects();
96  virtual Bool_t IsEventSelected();
97  virtual Bool_t Run();
98 
99  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);
100  void FillClusterHistos(double weight, double energy, double transversenergy, double eta, double phi);
101  void FillPatchHistos(const char *patchname, double weight, double energy, double transverseenergy, double eta, double phi, int col, int row);
102  Bool_t IsPhysicalPrimary(const AliVParticle* const part, AliMCEvent* const mcevent);
103 
104  Bool_t SelectEmcalTrigger(const TClonesArray * triggerpatches);
105 
106 private:
107 
108  class PtBinning : public TCustomBinning{
109  public:
110  PtBinning();
111  virtual ~PtBinning() {}
112  };
113 
116 
117 
121 
122  // Kinematical selection
128 
129  // Trigger specific information
132 
133  // Settings
134  TBits fObservables;
136 
140 };
141 
142 } /* namespace EMCalTriggerPtAnalysis */
143 
144 #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.
energy
Definition: HFPtSpectrum.C:44
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.
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.
Definition: THistManager.h:99
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
const Double_t phimin