AliPhysics  58f3d52 (58f3d52)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskPtEMCalTrigger.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKPTEMCALTRIGGER_H_
2 #define ALIANALYSISTASKPTEMCALTRIGGER_H_
3 /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 // Author: Markus Fasel
7 
9 #include "AliESDtrackCuts.h"
10 #include <TClonesArray.h>
11 #include <TList.h>
12 #include "AliCutValueRange.h"
13 
14 class TArrayD;
15 class Axis;
16 class THistManager;
18 class AliEmcalJet;
19 class AliESDtrack;
20 class AliJetContainer;
22 class AliVTrack;
23 class AliVParticle;
24 
32 namespace EMCalTriggerPtAnalysis {
33 
41 public:
47  };
48  static const Int_t kNJetRadii;
49  static const Double_t *kJetRadii;
50 
52  AliAnalysisTaskPtEMCalTrigger(const char *name);
54 
55  virtual void UserCreateOutputObjects();
56  virtual Bool_t Run();
57 
58  void AddESDTrackCuts(AliESDtrackCuts *trackCuts);
59  void AddCutsForAOD(AliESDtrackCuts *trackCuts, UInt_t filterBits);
60  void SetEtaRange(double etamin, double etamax) { fEtaRange.SetLimits(etamin, etamax); }
61  void SetPtRange(double ptmin, double ptmax) { fPtRange.SetLimits(ptmin, ptmax); }
62  void SetVertexRange(double vmin, double vmax) { fVertexRange.SetLimits(vmin, vmax); }
63  void SetClusterEnergyRange(double emin, double emax) { fEnergyRange.SetLimits(emin,emax); }
64  void SetSwapEta() { fSwapEta = kTRUE; }
66  void AddJetContainerName(const Char_t * contname, Bool_t isMC = kFALSE);
67  void SelectAllTracks(Bool_t doAll) { fSelectAllTracks = doAll; }
68 
69 private:
72  void CreateDefaultPtBinning(TArrayD &binning) const;
73  void CreateDefaultZVertexBinning(TArrayD &binning) const;
74  void CreateDefaultEtaBinning(TArrayD &binning) const;
75  void DefineAxis(TAxis &axis, const char *name, const char *title, const TArrayD &binning, const char **labels = NULL);
76  void DefineAxis(TAxis &axis, const char *name, const char *title, int nbins, double min, double max, const char **labels = NULL);
77  void FillEventHist(const char *trigger, double vz, bool isPileup);
78  void FillTrackHist(const char *trigger, const AliVTrack *track, double vz, bool isPileup, int cut, bool isMinBias, double jetradius = -1.);
79  void FillClusterHist(const char *trigger, const AliVCluster *clust, double vz, bool isPileup, bool isMinBias);
80  void FillMCParticleHist(const char *histname, const AliVParticle * const part, double vz, bool isPileup);
81  bool IsTrueTrack(const AliVTrack *const) const;
83  const AliVVertex *GetSPDVertex() const;
84  const AliEmcalJet *FoundTrackInJet(const AliVParticle * const track, AliJetContainer *const jets) const;
85  const AliEmcalJet *FoundClusterInJet(const AliVCluster * const clust, AliJetContainer *const jets) const;
86  bool TrackInJet(const AliVParticle *const track, const AliEmcalJet *reconstructedJet, const AliParticleContainer *const particles) const;
87  bool ClusterInJet(const AliVCluster *const clust, const AliEmcalJet *reconstructedJet, const AliClusterContainer *const particles) const;
88  bool IsInRadius(const AliVParticle *const track, const AliEmcalJet *reconstructedJet, Double_t radius) const;
89  bool IsInRadius(const AliVCluster *const clust, const AliEmcalJet *reconstructedJet, Double_t radius) const;
90 
94 
95  // Cuts
100 
101  // Jet containers
104 
105  // Settings
109 
111  ClassDef(AliAnalysisTaskPtEMCalTrigger, 1); // Analysis of EMCal triggered events
113 };
114 
115 }
116 #endif
AliAnalysisTaskPtEMCalTrigger & operator=(const AliAnalysisTaskPtEMCalTrigger &)
double Double_t
Definition: External.C:58
const char * title
Definition: MakeQAPdf.C:27
AliCutValueRange< double > fEnergyRange
Cluster energy selection range.
void FillTrackHist(const char *trigger, const AliVTrack *track, double vz, bool isPileup, int cut, bool isMinBias, double jetradius=-1.)
char Char_t
Definition: External.C:18
const AliEmcalJet * FoundClusterInJet(const AliVCluster *const clust, AliJetContainer *const jets) const
void AddCutsForAOD(AliESDtrackCuts *trackCuts, UInt_t filterBits)
THistManager * fHistos
Histogram container for the task.
void FillEventHist(const char *trigger, double vz, bool isPileup)
bool IsInRadius(const AliVParticle *const track, const AliEmcalJet *reconstructedJet, Double_t radius) const
Container for particles within the EMCAL framework.
void AddJetContainerName(const Char_t *contname, Bool_t isMC=kFALSE)
const Double_t etamin
int Int_t
Definition: External.C:63
unsigned int UInt_t
Definition: External.C:33
const Double_t ptmax
void FillClusterHist(const char *trigger, const AliVCluster *clust, double vz, bool isPileup, bool isMinBias)
Old charged hadron analysis in EMCAL-triggered events.
void DefineAxis(TAxis &axis, const char *name, const char *title, const TArrayD &binning, const char **labels=NULL)
Bool_t fSwapEta
Allow swapping of the eta sign in asymmetric collision systems.
void FillMCParticleHist(const char *histname, const AliVParticle *const part, double vz, bool isPileup)
const Double_t ptmin
const AliEmcalJet * FoundTrackInJet(const AliVParticle *const track, AliJetContainer *const jets) const
Bool_t isMC
AliCutValueRange< double > fPtRange
Pt Selection Range.
bool TrackInJet(const AliVParticle *const track, const AliEmcalJet *reconstructedJet, const AliParticleContainer *const particles) const
bool ClusterInJet(const AliVCluster *const clust, const AliEmcalJet *reconstructedJet, const AliClusterContainer *const particles) const
const Double_t etamax
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
Container class for histograms.
Definition: THistManager.h:99
AliCutValueRange< double > fEtaRange
Eta Selection Range.
Bool_t fUseTriggersFromTriggerMaker
Use trigger classes from trigger maker.
const Int_t nbins
bool Bool_t
Definition: External.C:53
Container structure for EMCAL clusters.
Container for jet within the EMCAL jet framework.