19 #include "AliAODInputHandler.h"
20 #include "AliMultiEventInputHandler.h"
21 #include "AliAnalysisManager.h"
22 #include "AliMixedEvent.h"
23 #include "AliAODEvent.h"
35 fSelectHybridTracks(0), fSelectPrimaryTracks(0),
36 fTrackFilterMask(0), fTrackFilterMaskComplementary(0),
37 fSelectFractionTPCSharedClusters(0), fCutTPCSharedClustersFraction(0)
57 AliAODEvent * aodevent =
dynamic_cast<AliAODEvent*
>(
fInputEvent);
58 if(!aodevent)
return kFALSE;
60 if (aodevent->GetPrimaryVertex() != NULL)
62 if(aodevent->GetPrimaryVertex()->GetNContributors() > 0)
68 if(aodevent->GetPrimaryVertexSPD() != NULL)
70 if(aodevent->GetPrimaryVertexSPD()->GetNContributors() > 0)
76 AliWarning(Form(
"Number of contributors from bad vertex type:: %s",
77 aodevent->GetPrimaryVertex()->GetName()));
90 TClonesArray * particles = NULL ;
92 AliAODEvent * aod =
dynamic_cast<AliAODEvent*
> (
fInputEvent) ;
93 if(aod) particles = (TClonesArray*) aod->FindListObject(
"mcparticles");
103 AliAODMCHeader *mch = NULL;
105 AliAODEvent * aod =
dynamic_cast<AliAODEvent*
> (
fInputEvent);
106 if(aod) mch =
dynamic_cast<AliAODMCHeader*
>(aod->FindListObject(
"mcHeader"));
116 AliAODTrack *aodtrack = dynamic_cast <AliAODTrack*>(track);
118 if(!aodtrack)
return kFALSE;
120 AliDebug(2,Form(
"AOD track type: %d (primary %d), hybrid? %d",
121 aodtrack->GetType(),AliAODTrack::kPrimary,
122 aodtrack->IsHybridGlobalConstrainedGlobal()));
127 if (!aodtrack->IsHybridGlobalConstrainedGlobal())
return kFALSE ;
138 if (!accept && !acceptcomplement)
return kFALSE ;
145 if(!aodtrack->HasPointOnITSLayer(0) && !aodtrack->HasPointOnITSLayer(1))
return kFALSE ;
152 Float_t ncls = Float_t(aodtrack->GetTPCncls ());
153 Float_t nclsS = Float_t(aodtrack->GetTPCnclsS());
154 if ( ncls> 0 ) frac = nclsS / ncls ;
166 if ( aodtrack->GetType()!= AliAODTrack::kPrimary )
168 AliDebug(2,
"\t Remove not primary track");
173 AliDebug(2,
"\t accepted track!");
175 track->GetPxPyPz(pTrack) ;
190 Bool_t tesd = kFALSE ;
191 Bool_t taod = kTRUE ;
192 if ( strcmp(input->GetName(),
"AliMixedEvent") == 0 )
194 AliMultiEventInputHandler* multiEH =
dynamic_cast<AliMultiEventInputHandler*
>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
196 if (multiEH->GetFormat() == 0 )
199 }
else if (multiEH->GetFormat() == 1)
206 AliFatal(
"MultiEventHandler is NULL");
210 if (strcmp(input->GetName(),
"AliESDEvent") == 0)
213 }
else if (strcmp(input->GetName(),
"AliAODEvent") == 0)
226 AliAODInputHandler* aodIH =
dynamic_cast<AliAODInputHandler*
>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
228 if (aodIH && aodIH->GetMergeEvents())
243 AliFatal(Form(
"STOP : Wrong data format: %s",input->GetName()));
ClassImp(AliAnalysisTaskTriggerRates) AliAnalysisTaskTriggerRates
Bool_t fReadAODMCParticles
Access kine information from filtered AOD MC particles.
virtual void SetMC(AliMCEvent *const mc)
Bool_t fSelectHybridTracks
Select CTS tracks of type hybrid.
AliVEvent * fOrgInputEvent
! Original input event, not from filtering
AliVEvent * fInputEvent
! pointer to esd or aod input.
ULong_t fTrackFilterMaskComplementary
Complementary Track selection bit, for AODs in case hybrid option selected.
virtual void SetInputEvent(AliVEvent *input)
Bool_t SelectTrack(AliVTrack *track, Double_t *pTrack)
Select AOD track using the AOD filter bits or predefined selection methods.
AliAODMCHeader * GetAODMCHeader() const
ULong_t fTrackFilterMask
Track selection bit, for AODs (any difference with track status?)
Class for event, clusters and tracks filtering and preparation for the AOD analysis.
Bool_t fSelectSPDHitTracks
Ensure that track hits SPD layers.
virtual void SetOutputEvent(AliAODEvent *aod)
Bool_t fSelectPrimaryTracks
Select CTS tracks of type primary.
Base class for event, clusters and tracks filtering and preparation for the analysis.
TClonesArray * GetAODMCParticles() const
Float_t fCutTPCSharedClustersFraction
Fraction of TPC shared clusters to be accepted.
void SetInputOutputMCEvent(AliVEvent *esd, AliAODEvent *aod, AliMCEvent *mc)
Bool_t fReadStack
Access kine information from stack.
Bool_t fSelectFractionTPCSharedClusters
Accept only TPC tracks with over a given fraction of shared clusters.
AliCaloTrackAODReader()
Default constructor. Initialize parameters.
Bool_t CheckForPrimaryVertex() const
Int_t fDataType
Select MC: Kinematics, Data: ESD/AOD, MCData: Both.