8 #ifndef ALIREDUCEDHIGHPTEVENTCREATOR_H
9 #define ALIREDUCEDHIGHPTEVENTCREATOR_H
14 #include "AliVEvent.h"
26 namespace HighPtTracks {
28 class AliReducedHighPtEvent;
29 class AliReducedPatchContainer;
35 class AliReducedTrackSelectionContainer :
public TObject{
37 AliReducedTrackSelectionContainer();
39 virtual ~AliReducedTrackSelectionContainer();
45 void SetIndex(Int_t index) { fIndex = index; }
56 Int_t
GetIndex()
const {
return fIndex; }
68 AliReducedTrackSelectionContainer(AliReducedTrackSelectionContainer &);
69 AliReducedTrackSelectionContainer &operator=(AliReducedTrackSelectionContainer &);
72 ClassDef(AliReducedTrackSelectionContainer, 1);
82 AliReducedHighPtEventCreator();
83 AliReducedHighPtEventCreator(
const char *name);
84 virtual ~AliReducedHighPtEventCreator();
86 virtual void UserCreateOutputObjects();
94 void SetSwapTriggerThresholds(Bool_t doswap) { fSwapTriggerThresholds = doswap; }
100 void SetClusterEnergyCut(Double_t minE, Double_t maxE) {
109 void SetPtRange(Double_t minpt, Double_t maxpt){
118 void SetEtaRange(Double_t mineta, Double_t maxeta){
127 void SetCentralityMethod(
const char *centmethod){
128 fCentralityMethod = centmethod;
134 void SetMinBiasSelection(AliVEvent::EOfflineTriggerTypes minbiasbit) { fMinBiasSelection = minbiasbit; }
140 void SetApplyCentralitySelection(Bool_t doApply = kTRUE) { fApplyCentralitySelection = doApply; }
147 void SetCentraltityRange(Float_t mincent, Float_t maxcent) {
148 fSelectCentralityRange[0] = mincent;
149 fSelectCentralityRange[1] = maxcent;
155 void SetTriggerSetup(
const char *triggersetup){
156 fTriggerSetup = triggersetup;
162 void SetBasicEventSelection(UInt_t selection) { fEventSelectionBits = selection; }
169 void SetFractionOfEventsToKeep(Double_t frac){
170 if(frac < 0) fKeepFractionEvents = 0.;
171 else if(frac > 1) fKeepFractionEvents = 1.;
172 else fKeepFractionEvents = frac;
176 Bool_t SelectEvent(AliVEvent *event)
const;
177 Bool_t SelectCluster(
const AliVCluster *clust)
const;
178 Int_t SelectTrack(AliVTrack *track, TArrayI &cutindices)
const;
179 void ConvertTriggerPatches(TClonesArray *patches, AliReducedPatchContainer *cont);
180 void FixTrackInputEvent(AliVTrack *trk);
181 Int_t GetTPCCrossedRows(
const AliVTrack *trk)
const;
182 void GetCellEnergies(AliVCluster *emccluster, TArrayD &energies)
const;
184 AliReducedHighPtEvent *fOutputEvent;
185 TObjArray *fTrackSelections;
187 UInt_t fEventSelectionBits;
188 Bool_t fSwapTriggerThresholds;
189 Double_t fMinClusterE;
190 Double_t fMaxClusterE;
195 Float_t fKeepFractionEvents;
196 Bool_t fApplyCentralitySelection;
197 TString fCentralityMethod;
198 TString fTriggerSetup;
199 Float_t fSelectCentralityRange[2];
200 AliVEvent::EOfflineTriggerTypes fMinBiasSelection;
203 AliReducedHighPtEventCreator(
const AliReducedHighPtEventCreator &);
204 AliReducedHighPtEventCreator &operator=(
const AliReducedHighPtEventCreator &);
207 ClassDef(AliReducedHighPtEventCreator, 1)
Interface for virtual track selection.
Base task in the EMCAL framework.
Int_t GetIndex(TObjArray *triggersB, Int_t trigNr, Int_t centNr)