AliPhysics  2853087 (2853087)
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;
16 class AliGenPythiaEventHeader;
17 class AliMCEvent;
18 class AliVParticle;
19 
21 
22 namespace EMCalTriggerPtAnalysis {
23 
24 class AliEMCalTriggerWeightHandler;
25 
41 public:
42 
48  kpPb = 1,
49  kPbp = -1
50  };
51 
56  enum PatchType_t {
57  kEMCEGA = 0,
58  kEMCEJE = 1,
59  kUndef = -1
60  };
61 
66  enum Observable_t {
67  kTracks = 0,
68  kClusters = 1,
71  };
72 
76 
77  void SetRapidityShift(Double_t yshift) { fYshift = yshift; }
78  void SetBeamDirection(BeamDirection_t beamdir) { fEtaSign = static_cast<Double_t>(beamdir); }
79 
80  void SetAnalysisUtil(AliAnalysisUtils *util) { fAliAnalysisUtils = util; }
82  void SetEtaLabCut(double etamin, double etamax) { fEtaLabCut.SetLimits(etamin, etamax); }
83  void SetEtaCMSCut(double etamin, double etamax) { fEtaCmsCut.SetLimits(etamin, etamax); }
84  void SetTrackPhiCut(double phimin, double phimax) { fPhiCut.SetLimits(phimin, phimax); }
85 
86  void InitializeTrackCuts(TString cutname, bool isAOD);
88  void SetNameClusters(const TString &nameClusters) { fNameClusters = nameClusters; }
89 
90  void SetEMCALTrigger(PatchType_t patchtype, Double_t threshold) { fPatchType = patchtype; fEnergyThreshold = threshold; }
91  void SetObservable(Observable_t observable) { fObservables.SetBitNumber(observable); }
92  Bool_t HasObservable(Observable_t observable) { return fObservables.TestBitNumber(observable); }
93 
94 protected:
95 
96  virtual void UserCreateOutputObjects();
97  virtual Bool_t IsEventSelected();
98  virtual Bool_t Run();
99 
100  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);
101  void FillClusterHistos(double weight, double energy, double transversenergy, double eta, double phi);
102  void FillPatchHistos(const char *patchname, double weight, double energy, double transverseenergy, double eta, double phi, int col, int row);
103  Bool_t IsPhysicalPrimary(const AliVParticle* const part, AliMCEvent* const mcevent);
104 
105  Bool_t SelectEmcalTrigger(const TClonesArray * triggerpatches);
106 
107 private:
108 
109  class PtBinning : public TCustomBinning{
110  public:
111  PtBinning();
112  virtual ~PtBinning() {}
113  };
114 
117 
118 
122 
123  // Kinematical selection
129 
130  // Trigger specific information
133 
134  // Settings
135  TBits fObservables;
137 
141 };
142 
143 } /* namespace EMCalTriggerPtAnalysis */
144 
145 #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)
Analysis of high- tracks in triggered events.
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