28 #include <TClonesArray.h>
30 #include <TObjArray.h>
39 #include "AliESDEvent.h"
40 #include "AliESDtrack.h"
41 #include "AliESDtrackCuts.h"
69 using PWG::EMCAL::AliEmcalESDHybridTrackCuts;
83 AddTrackCuts(AliESDtrackCuts::GetStandardITSPureSATrackCuts2010(kTRUE, kFALSE));
88 auto hybridcuts =
new AliEmcalESDHybridTrackCuts(
"hybrid_2010_wNoRefit", AliEmcalESDHybridTrackCuts::kDef2010);
89 hybridcuts->SetUseNoITSrefitTracks(kTRUE);
96 auto hybridcuts =
new AliEmcalESDHybridTrackCuts(
"hybrid_2010_wNoRefit", AliEmcalESDHybridTrackCuts::kDef2010);
97 hybridcuts->SetUseNoITSrefitTracks(kFALSE);
104 auto hybridcuts =
new AliEmcalESDHybridTrackCuts(
"hybrid_2010_wNoRefit", AliEmcalESDHybridTrackCuts::kDef2011);
105 hybridcuts->SetUseNoITSrefitTracks(kTRUE);
112 auto hybridcuts =
new AliEmcalESDHybridTrackCuts(
"hybrid_2010_wNoRefit", AliEmcalESDHybridTrackCuts::kDef2011);
113 hybridcuts->SetUseNoITSrefitTracks(kFALSE);
125 AliDebugStream(2) <<
"No cut array " << std::endl;
128 AliESDtrack *esdt =
dynamic_cast<AliESDtrack *
>(trk);
132 esdt =
dynamic_cast<AliESDtrack*
>(picoTrack->
GetTrack());
135 AliError(
"Neither Pico nor ESD track");
140 TBits trackbitmap(64);
141 trackbitmap.ResetAllBits();
143 AliDebugStream(2) <<
"Found cut array with " <<
fListOfCuts->GetEntries() <<
" cuts\n" << std::endl;
145 selectionStatus.SetOwner(
false);
147 AliDebugStream(3) <<
"executing nect cut: " <<
static_cast<AliVCuts *
>(
static_cast<AliEmcalManagedObject *
>(cutIter)->
GetObject())->GetName() << std::endl;
150 selectionStatus.Add(&selresult);
151 if(selresult) trackbitmap.SetBitNumber(cutcounter);
167 if(ptr->
GetObject()->IsA() == AliESDtrackCuts::Class()){
Interface for virtual track selection.
static void AddHybridTrackCuts(AliEmcalTrackSelection *trkSel, TString period)
TObject * GetObject(const TCollection *parent, const TString &name, const TClass *cls=0, Bool_t verbose=true)
TObject * GetObject()
Providing access to managed object.
TObjArray * fListOfCuts
List of track cut objects.
Structure containing the result of a given track selection step.
virtual AliEmcalTrackSelResultPtr IsSelected(TObject *o)=0
void SetOwner(bool owner=true)
Specifying ownership over object.
void SetSelectionResult(Bool_t selectionResult)
AliEmcalTrackSelectionESD()
Dummy constructor.
Hybrid tracks using the 2011 definition including NoITSrefit tracks (ESD-only)
Hybrid tracks using the 2010 definition including NoITSrefit tracks (ESD-only)
Hybrid tracks using the 2010 definition excluding NoITSrefit tracks (ESD-only)
Hybrid tracks using the 2011 definition excluding NoITSrefit tracks (ESD-only)
Declaration of class AliEmcalESDTrackCutsGenerator.
void AddTrackCuts(AliVCuts *cuts)
Add new track cuts to the list of cuts.
AliVTrack * GetTrack() const
virtual void SaveQAObjects(TList *outputList)
Bool_t fSelectionModeAny
Accept track if any of the cuts is fulfilled.
static void AddTPCOnlyTrackCuts(AliEmcalTrackSelection *trkSel, TString period)
ETrackFilterType_t
Pre-defined track filters.
virtual void GenerateTrackCuts(ETrackFilterType_t type, const char *period="")
Automatically generates track cuts depending on the requested type of filtering.
Smart pointer implementation for objects inheriting from TObject.
Interface for a cut class returning selection status and user information.
virtual PWG::EMCAL::AliEmcalTrackSelResultPtr IsTrackAccepted(AliVTrack *const trk)
Check whether track is accepted.
Implementation of virtual track selection for ESDs.