16 #include <TClonesArray.h>
18 #include <TObjArray.h>
20 #include <AliAODEvent.h>
21 #include <AliAODTrack.h>
25 #include <AliESDtrack.h>
26 #include <AliESDtrackCuts.h>
36 fFilterHybridTracks(kFALSE),
37 fFilterTPCTracks(kFALSE)
39 fHybridFilterBits[0] = -1;
40 fHybridFilterBits[1] = -1;
45 fFilterBits(filterbits),
46 fFilterHybridTracks(kFALSE),
47 fFilterTPCTracks(kFALSE)
57 fFilterHybridTracks(kFALSE),
58 fFilterTPCTracks(kFALSE)
88 AddTrackCuts(AliESDtrackCuts::GetStandardITSSATrackCuts2010());
105 trackcuts->SetSelectNonITSrefitTracks(kFALSE);
120 trackcuts->SetSelectNonITSrefitTracks(kFALSE);
132 AliAODTrack *aodt =
dynamic_cast<AliAODTrack*
>(trk);
136 aodt =
dynamic_cast<AliAODTrack *
>(picotrack->
GetTrack());
139 AliError(
"Track neither AOD track nor pico track");
144 AliError(
"Failed getting AOD track");
155 if (aodt->IsHybridGlobalConstrainedGlobal()) {
163 if(aodt->IsHybridTPCConstrainedGlobal())
fTrackBitmap.SetBitNumber(cutcounter);
169 if (trackCuts->IsSelected(aodt))
fTrackBitmap.SetBitNumber(cutcounter);
187 if (period ==
"lhc10b" || period ==
"lhc10c" || period ==
"lhc10d" ||
188 period ==
"lhc10e" || period ==
"lhc10h" ||
189 period ==
"lhc11h" || period ==
"lhc12a" || period ==
"lhc12b" ||
190 period ==
"lhc12c" || period ==
"lhc12d" || period ==
"lhc12e" ||
191 period ==
"lhc12f" || period ==
"lhc12g" || period ==
"lhc12h" ||
192 period ==
"lhc12i" || period ==
"lhc13b" || period ==
"lhc13c" ||
193 period ==
"lhc13d" || period ==
"lhc13e" || period ==
"lhc13f" ||
194 period ==
"lhc13g" ||
195 (period.Length() == 6 && (period.BeginsWith(
"lhc15") || period.BeginsWith(
"lhc16") || period.BeginsWith(
"lhc17")))
201 else if (period ==
"lhc10f7a" || period ==
"lhc12a15e" || period.BeginsWith(
"lhc12a17") ||
202 period ==
"lhc13b4" || period ==
"lhc13b4_fix" || period ==
"lhc13b4_plus" || period ==
"lhc14k1a" || period ==
"lhc14k1b" || period ==
"lhc13e4" ||
203 period.BeginsWith(
"lhc14a1") || period.BeginsWith(
"lhc13b2_efix") ||
204 period.BeginsWith(
"lhc15g6") || period.BeginsWith(
"lhc16e1") || period.BeginsWith(
"lhc17f8")) {
209 else if (period ==
"lhc11a" || period ==
"lhc10hold" || period ==
"lhc11c" || period ==
"lhc11d") {
214 else if (period.Contains(
"lhc12a15a") || period ==
"lhc12a15f" ||
215 period ==
"lhc12a15g" || period.BeginsWith(
"lhc11a1")) {
221 ::Error(
"AliEmcalTrackSelectionAOD::GetHybridFilterBits",
"Could not find period %s! Hybrid tracks will be selected, but will not be able to distinguish between global and constrained.", period.Data());
Interface for virtual track selection.
TObject * GetObject(const TCollection *parent, const TString &name, const TClass *cls=0, Bool_t verbose=true)
Char_t fHybridFilterBits[2]
Filter bits of hybrid tracks.
TObjArray * fListOfCuts
List of track cut objects.
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)
Bool_t fFilterHybridTracks
Filter hybrid tracks using AliAODTrack::IsHybridGlobalConstrainedGlobal.
Hybrid tracks using the 2011 definition excluding NoITSrefit tracks (ESD-only)
Bool_t fFilterTPCTracks
Filter TPC-only tracks using AliAODTrack::IsHybridGlobalConstrainedGlobal.
void AddTrackCuts(AliVCuts *cuts)
Add new track cuts to the list of cuts.
Implement virtual track selection for AOD analysis.
virtual bool IsTrackAccepted(AliVTrack *const trk)
Performing track selection.
Cut class selecting hybrid tracks using the IsHybrid function.
AliVTrack * GetTrack() const
Bool_t fSelectionModeAny
Accept track if any of the cuts is fulfilled.
TBits fTrackBitmap
Bitmap of last accepted/rejected track.
ETrackFilterType_t
Pre-defined track filters.
virtual void GenerateTrackCuts(ETrackFilterType_t type, const char *="")
Automatically generates track cuts depending on the requested type of filtering.
static Bool_t GetHybridFilterBits(Char_t bits[], TString period)
Returns the hybrid filter bits according to a hard-coded look-up table.
AliEmcalTrackSelectionAOD()
Main constructor.
Smart pointer implementation for objects inheriting from TObject.
UInt_t fFilterBits
Track filter bits.