AliPhysics  c923f52 (c923f52)
 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 SetTrackPhiCut(double phimin, double phimax) { fPhiCut.SetLimits(phimin, phimax); }
82 
83  void InitializeTrackCuts(TString cutname, bool isAOD);
85  void SetNameClusters(const TString &nameClusters) { fNameClusters = nameClusters; }
86 
87  void SetEMCALTrigger(PatchType_t patchtype, Double_t threshold) { fPatchType = patchtype; fEnergyThreshold = threshold; }
88  void SetObservable(Observable_t observable) { fObservables.SetBitNumber(observable); }
89  Bool_t HasObservable(Observable_t observable) { return fObservables.TestBitNumber(observable); }
90 
91 protected:
92 
93  virtual void UserCreateOutputObjects();
94  virtual Bool_t IsEventSelected();
95  virtual Bool_t Run();
96 
97  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);
98  void FillClusterHistos(double weight, double energy, double transversenergy, double eta, double phi);
99  void FillPatchHistos(const char *patchname, double weight, double energy, double transverseenergy, double eta, double phi, int col, int row);
100  Bool_t IsPhysicalPrimary(const AliVParticle* const part, AliMCEvent* const mcevent);
101 
102  Bool_t SelectEmcalTrigger(const TClonesArray * triggerpatches);
103 
104 private:
105 
106  class PtBinning : public TCustomBinning{
107  public:
108  PtBinning();
109  virtual ~PtBinning() {}
110  };
111 
114 
115 
119 
120  // Kinematical selection
126 
127  // Trigger specific information
130 
131  // Settings
132  TBits fObservables;
134 
138 };
139 
140 } /* namespace EMCalTriggerPtAnalysis */
141 
142 #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.
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
const Double_t phimin