19 #include "AliAODEvent.h"
20 #include "AliMultiEventInputHandler.h"
21 #include "AliAnalysisManager.h"
22 #include "AliMixedEvent.h"
23 #include "AliESDEvent.h"
24 #include "AliESDtrackCuts.h"
36 fESDtrackCuts(0), fESDtrackComplementaryCuts(0)
62 if(!esdevent)
return kFALSE;
64 if(esdevent->GetPrimaryVertex()->GetNContributors() > 0)
69 if(esdevent->GetPrimaryVertex()->GetNContributors() < 1)
72 if(esdevent->GetPrimaryVertexSPD()->GetNContributors() > 0)
77 if(esdevent->GetPrimaryVertexSPD()->GetNContributors() < 1)
94 fESDtrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
103 AliESDtrack* esdTrack =
dynamic_cast<AliESDtrack*
> (track);
105 if(!esdTrack)
return kFALSE;
107 const AliExternalTrackParam* constrainParam = esdTrack->GetConstrainedParam();
111 track->GetPxPyPz(pTrack) ;
115 if( !constrainParam )
return kFALSE;
117 esdTrack->Set(constrainParam->GetX(),constrainParam->GetAlpha(),constrainParam->GetParameter(),constrainParam->GetCovariance());
118 esdTrack->GetConstrainedPxPyPz(pTrack);
122 if(
fSelectSPDHitTracks && !esdTrack->HasPointOnITSLayer(0) && !esdTrack->HasPointOnITSLayer(1))
130 if( !constrainParam )
return kFALSE;
132 esdTrack->Set(constrainParam->GetX(),constrainParam->GetAlpha(),constrainParam->GetParameter(),constrainParam->GetCovariance());
133 esdTrack->GetConstrainedPxPyPz(pTrack);
170 if ( strcmp(esd->GetName(),
"AliMixedEvent") == 0 )
172 AliMultiEventInputHandler* multiEH =
dynamic_cast<AliMultiEventInputHandler*
>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
175 if (multiEH->GetFormat() == 0 )
182 AliFatal(
"MultiEventHandler is NULL");
186 if (strcmp(esd->GetName(),
"AliESDEvent") == 0)
193 AliFatal(Form(
"STOP ::Wrong reader, here only ESDs. Input name: %s != AliESDEvent",esd->GetName()));
AliESDtrackCuts * fESDtrackCuts
Track cut machinery.
Bool_t fConstrainTrack
Constrain Track to vertex.
Bool_t fReadAODMCParticles
Access kine information from filtered AOD MC particles.
virtual void SetMC(AliMCEvent *const mc)
AliVEvent * fInputEvent
! pointer to esd or aod input.
virtual void SetInputEvent(AliVEvent *input)
void SetTrackCuts(AliESDtrackCuts *cuts)
Set Track cuts.
void SetInputOutputMCEvent(AliVEvent *esd, AliAODEvent *aod, AliMCEvent *mc)
Connect the data pointers.
Bool_t fSelectSPDHitTracks
Ensure that track hits SPD layers.
void SetTrackComplementaryCuts(AliESDtrackCuts *cuts)
Set Track cuts for complementary tracks (hybrids).
virtual void SetOutputEvent(AliAODEvent *aod)
Base class for event, clusters and tracks filtering and preparation for the analysis.
Class for event, clusters and tracks filtering and preparation for the ESD analysis.
void Init()
Init reader. Method to be called in AliAnaCaloTrackCorrMaker.
Bool_t SelectTrack(AliVTrack *track, Double_t *pTrack)
virtual ~AliCaloTrackESDReader()
Default destructor.
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
AliCaloTrackESDReader()
Default constructor. Initialize parameters.
Bool_t fReadStack
Access kine information from stack.
AliESDtrackCuts * fESDtrackComplementaryCuts
Track cut machinery for complementary cuts for hybrids.
Int_t fDataType
Select MC: Kinematics, Data: ESD/AOD, MCData: Both.
Bool_t CheckForPrimaryVertex() const