AliPhysics  vAN-20150427 (e6e7aad)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
AliReducedHighPtEventCreator.h
Go to the documentation of this file.
1 
8 #ifndef ALIREDUCEDHIGHPTEVENTCREATOR_H
9 #define ALIREDUCEDHIGHPTEVENTCREATOR_H
10 /* Copyright(c) 1998-2015, ALICE Experiment at CERN, All rights reserved. *
11  * See cxx source for full Copyright notice */
12 
13 #include "AliAnalysisTaskEmcal.h"
14 #include <TString.h>
15 
16 class TArrayI;
17 class TTree;
18 class TObjArray;
19 
20 class AliVCluster;
21 class AliVEvent;
22 class AliVParticle;
23 
24 namespace EMCalTriggerPtAnalysis{
25 class AliEMCalPtTaskVTrackSelection;
26 }
27 
28 namespace HighPtTracks {
29 
30 class AliReducedHighPtEvent;
31 class AliReducedPatchContainer;
32 
37 class AliReducedTrackSelectionContainer : public TObject{
38 public:
39  AliReducedTrackSelectionContainer();
40  AliReducedTrackSelectionContainer(Int_t index, EMCalTriggerPtAnalysis::AliEMCalPtTaskVTrackSelection * sel);
41  virtual ~AliReducedTrackSelectionContainer();
42 
47  void SetIndex(Int_t index) { fIndex = index; }
52  void SetTrackSelection(EMCalTriggerPtAnalysis::AliEMCalPtTaskVTrackSelection *trackSelection) { fTrackSelection = trackSelection;}
53 
58  Int_t GetIndex() const { return fIndex; }
63  EMCalTriggerPtAnalysis::AliEMCalPtTaskVTrackSelection *GetTrackSelection() const { return fTrackSelection; }
64 
65 protected:
66  Int_t fIndex;
68 
69 private:
70  AliReducedTrackSelectionContainer(AliReducedTrackSelectionContainer &);
71  AliReducedTrackSelectionContainer &operator=(AliReducedTrackSelectionContainer &);
72 
74  ClassDef(AliReducedTrackSelectionContainer, 1);
76 };
77 
82 class AliReducedHighPtEventCreator: public AliAnalysisTaskEmcal {
83 public:
84  AliReducedHighPtEventCreator();
85  AliReducedHighPtEventCreator(const char *name);
86  virtual ~AliReducedHighPtEventCreator();
87 
88  virtual void UserCreateOutputObjects();
89  virtual Bool_t Run();
90 
91  void AddVirtualTrackSelection(EMCalTriggerPtAnalysis::AliEMCalPtTaskVTrackSelection * sel, Int_t index);
96  void SetSwapTriggerThresholds(Bool_t doswap) { fSwapTriggerThresholds = doswap; }
102  void SetClusterEnergyCut(Double_t minE, Double_t maxE) {
103  fMinClusterE = minE;
104  fMaxClusterE = maxE;
105  }
111  void SetPtRange(Double_t minpt, Double_t maxpt){
112  fMinPt = minpt;
113  fMaxPt = maxpt;
114  }
120  void SetEtaRange(Double_t mineta, Double_t maxeta){
121  fMinEta = mineta;
122  fMaxEta = maxeta;
123  }
124 
129  void SetCentralityMethod(const char *centmethod){
130  fCentralityMethod = centmethod;
131  }
132 
133 protected:
134  Bool_t SelectEvent(AliVEvent *event) const;
135  Bool_t SelectCluster(const AliVCluster *clust) const;
136  Int_t SelectTrack(AliVTrack *track, TArrayI &cutindices) const;
137  void ConvertTriggerPatches(TClonesArray *patches, AliReducedPatchContainer *cont);
138  void FixTrackInputEvent(AliVTrack *trk);
139  Int_t GetTPCCrossedRows(const AliVTrack *trk) const;
140  void GetCellEnergies(AliVCluster *emccluster, TArrayD &energies) const;
141  TTree *fOutputTree;
142  AliReducedHighPtEvent *fOutputEvent;
143  TObjArray *fTrackSelections;
144 
145  Bool_t fSwapTriggerThresholds;
146  Double_t fMinClusterE;
147  Double_t fMaxClusterE;
148  Double_t fMinPt;
149  Double_t fMaxPt;
150  Double_t fMinEta;
151  Double_t fMaxEta;
152  TString fCentralityMethod;
153 
154 private:
155  AliReducedHighPtEventCreator(const AliReducedHighPtEventCreator &);
156  AliReducedHighPtEventCreator &operator=(const AliReducedHighPtEventCreator &);
157 
159  ClassDef(AliReducedHighPtEventCreator, 1)
161 };
162 
163 } /* namespace HighPtTracks */
164 
165 #endif /* ALIREDUCEDHIGHPTEVENTCREATOR_H */
Int_t GetIndex(TObjArray *triggersB, Int_t trigNr, Int_t centNr)
Definition: PlotMuonQA.C:2048