AliPhysics  7273240 (7273240)
 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 
44 public:
54  kpPb = 1,
55  kPbp = -1
56  };
57 
62 
67  AliAnalysisTaskChargedParticlesRefMC(const char *name);
68 
73 
80  void SetRapidityShift(Double_t yshift) { fYshift = yshift; }
81 
86  void SetBeamDirection(BeamDirection_t beamdir) { fEtaSign = static_cast<Double_t>(beamdir); }
87 
92  void SetAnalysisUtil(AliAnalysisUtils *util) { fAliAnalysisUtils = util; }
93 
99  void SetTrackSelection(AliEmcalTrackSelection * sel) { fTrackCuts = sel; }
100 
107  void SetEtaLabCut(double etamin, double etamax) { fEtaLabCut.SetLimits(etamin, etamax); }
108 
115  void SetEtaCMSCut(double etamin, double etamax) { fEtaCmsCut.SetLimits(etamin, etamax); }
116 
122  void SetTrackPhiCut(double phimin, double phimax) { fPhiCut.SetLimits(phimin, phimax); }
123 
129  void SetOfflineTriggerSelection(AliEmcalTriggerOfflineSelection *sel) { fTriggerSelection = sel; }
130 
137  void InitializeTrackCuts(TString cutname, bool isAOD);
138 
144  void SetWeightHandler(const AliEMCalTriggerWeightHandler * wh) { fWeightHandler = wh; }
145 
151  void SetTriggerAcceptanceOADB(const TString &name) { fNameAcceptanceOADB = name; }
152 
153 protected:
154 
164  virtual void UserCreateOutputObjects();
165 
181  virtual bool Run();
182 
197  virtual bool IsEventSelected();
198 
204  virtual void ExecOnce();
205 
217  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);
218 
224  void FillTriggerJetHistograms(Bool_t aftercut, AliGenPythiaEventHeader *const header);
225 
231  TString GetFiredTriggerClasses(const TClonesArray * triggerpatches);
232 
241  Bool_t IsPhysicalPrimary(const AliVParticle *const part, AliMCEvent *const mcevent);
242 
243 private:
244 
253  class PtBinning : public TCustomBinning{
254  public:
255 
259  PtBinning();
260 
264  virtual ~PtBinning() {}
265  };
266 
269 
270  AliEmcalTrackSelection *fTrackCuts;
271  AliEmcalTriggerOfflineSelection *fTriggerSelection;
272  THistManager *fHistos;
273  const AliEMCalTriggerWeightHandler *fWeightHandler;
274 
275  std::vector<std::string> fEventTriggers;
276  Double_t fEventWeight;
277 
278  Double_t fYshift;
279  Double_t fEtaSign;
280  AliCutValueRange<double> fEtaLabCut;
281  AliCutValueRange<double> fEtaCmsCut;
282  AliCutValueRange<double> fPhiCut;
283  Double_t fFracPtHard;
284 
285  TString fNameAcceptanceOADB;
286 
290 };
291 
292 } /* namespace EMCalTriggerPtAnalysis */
293 
294 #endif /* ALIANALYSISTASKCHARGEDPARTICLESREFMC_H */
Interface for virtual track selection.
double Double_t
Definition: External.C:58
Base task in the EMCAL framework.
AliAnalysisTaskEmcal & operator=(const AliAnalysisTaskEmcal &)
Helper class selecting events on the presence of a trigger patch for the given type above threshold...
const Double_t etamin
AliAnalysisUtils * fAliAnalysisUtils
!vertex selection (optional)
Helper class creating user defined custom binning.
Test class for charged particle distributions (MC case)
virtual Bool_t IsEventSelected()
const Double_t etamax
Container class for histograms for the high- charged particle analysis.
Definition: THistManager.h:43
bool Bool_t
Definition: External.C:53
const Double_t phimin