#include "AliCaloTrackESDReader.h"
#include "AliAODEvent.h"
#include "AliMultiEventInputHandler.h"
#include "AliAnalysisManager.h"
#include "AliMixedEvent.h"
#include "AliESDEvent.h"
#include "AliESDtrackCuts.h"
#include "AliLog.h"
ClassImp(AliCaloTrackESDReader)
AliCaloTrackESDReader::AliCaloTrackESDReader() :
AliCaloTrackReader(), fConstrainTrack(0),
fESDtrackCuts(0), fESDtrackComplementaryCuts(0)
{
fDataType = kESD;
fReadStack = kTRUE;
fReadAODMCParticles = kFALSE;
fConstrainTrack = kFALSE ;
}
AliCaloTrackESDReader::~AliCaloTrackESDReader()
{
AliCaloTrackReader::DeletePointers();
delete fESDtrackCuts;
delete fESDtrackComplementaryCuts;
}
Bool_t AliCaloTrackESDReader::CheckForPrimaryVertex() const
{
AliESDEvent * esdevent = dynamic_cast<AliESDEvent*> (fInputEvent);
if(!esdevent) return kFALSE;
if(esdevent->GetPrimaryVertex()->GetNContributors() > 0)
{
return kTRUE;
}
if(esdevent->GetPrimaryVertex()->GetNContributors() < 1)
{
if(esdevent->GetPrimaryVertexSPD()->GetNContributors() > 0)
{
return kTRUE;
}
if(esdevent->GetPrimaryVertexSPD()->GetNContributors() < 1)
{
return kFALSE;
}
}
return kFALSE;
}
void AliCaloTrackESDReader::Init()
{
AliCaloTrackReader::Init();
if(!fESDtrackCuts)
fESDtrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
}
Bool_t AliCaloTrackESDReader::SelectTrack(AliVTrack* track, Double_t pTrack[3])
{
AliESDtrack* esdTrack = dynamic_cast<AliESDtrack*> (track);
if(!esdTrack) return kFALSE;
const AliExternalTrackParam* constrainParam = esdTrack->GetConstrainedParam();
if(fESDtrackCuts->AcceptTrack(esdTrack))
{
track->GetPxPyPz(pTrack) ;
if(fConstrainTrack)
{
if( !constrainParam ) return kFALSE;
esdTrack->Set(constrainParam->GetX(),constrainParam->GetAlpha(),constrainParam->GetParameter(),constrainParam->GetCovariance());
esdTrack->GetConstrainedPxPyPz(pTrack);
}
if(fSelectSPDHitTracks && !esdTrack->HasPointOnITSLayer(0) && !esdTrack->HasPointOnITSLayer(1))
return kFALSE ;
}
else if(fESDtrackComplementaryCuts && fESDtrackComplementaryCuts->AcceptTrack(esdTrack))
{
if( !constrainParam ) return kFALSE;
esdTrack->Set(constrainParam->GetX(),constrainParam->GetAlpha(),constrainParam->GetParameter(),constrainParam->GetCovariance());
esdTrack->GetConstrainedPxPyPz(pTrack);
}
else return kFALSE;
return kTRUE;
}
void AliCaloTrackESDReader::SetTrackCuts(AliESDtrackCuts * cuts)
{
if(fESDtrackCuts) delete fESDtrackCuts ;
fESDtrackCuts = cuts ;
}
void AliCaloTrackESDReader::SetTrackComplementaryCuts(AliESDtrackCuts * cuts)
{
if(fESDtrackComplementaryCuts) delete fESDtrackComplementaryCuts ;
fESDtrackComplementaryCuts = cuts ;
}
void AliCaloTrackESDReader::SetInputOutputMCEvent(AliVEvent* esd,
AliAODEvent* aod,
AliMCEvent* mc)
{
Bool_t tesd = kFALSE ;
if ( strcmp(esd->GetName(), "AliMixedEvent") == 0 )
{
AliMultiEventInputHandler* multiEH = dynamic_cast<AliMultiEventInputHandler*>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
if(multiEH)
{
if (multiEH->GetFormat() == 0 )
{
tesd = kTRUE ;
}
}
else
{
AliFatal("MultiEventHandler is NULL");
return;
}
}
if (strcmp(esd->GetName(),"AliESDEvent") == 0)
{
tesd = kTRUE ;
}
if(!tesd)
{
AliFatal(Form("STOP ::Wrong reader, here only ESDs. Input name: %s != AliESDEvent",esd->GetName()));
}
SetInputEvent(esd);
SetOutputEvent(aod);
SetMC(mc);
}
AliCaloTrackESDReader.cxx:1 AliCaloTrackESDReader.cxx:2 AliCaloTrackESDReader.cxx:3 AliCaloTrackESDReader.cxx:4 AliCaloTrackESDReader.cxx:5 AliCaloTrackESDReader.cxx:6 AliCaloTrackESDReader.cxx:7 AliCaloTrackESDReader.cxx:8 AliCaloTrackESDReader.cxx:9 AliCaloTrackESDReader.cxx:10 AliCaloTrackESDReader.cxx:11 AliCaloTrackESDReader.cxx:12 AliCaloTrackESDReader.cxx:13 AliCaloTrackESDReader.cxx:14 AliCaloTrackESDReader.cxx:15 AliCaloTrackESDReader.cxx:16 AliCaloTrackESDReader.cxx:17 AliCaloTrackESDReader.cxx:18 AliCaloTrackESDReader.cxx:19 AliCaloTrackESDReader.cxx:20 AliCaloTrackESDReader.cxx:21 AliCaloTrackESDReader.cxx:22 AliCaloTrackESDReader.cxx:23 AliCaloTrackESDReader.cxx:24 AliCaloTrackESDReader.cxx:25 AliCaloTrackESDReader.cxx:26 AliCaloTrackESDReader.cxx:27 AliCaloTrackESDReader.cxx:28 AliCaloTrackESDReader.cxx:29 AliCaloTrackESDReader.cxx:30 AliCaloTrackESDReader.cxx:31 AliCaloTrackESDReader.cxx:32 AliCaloTrackESDReader.cxx:33 AliCaloTrackESDReader.cxx:34 AliCaloTrackESDReader.cxx:35 AliCaloTrackESDReader.cxx:36 AliCaloTrackESDReader.cxx:37 AliCaloTrackESDReader.cxx:38 AliCaloTrackESDReader.cxx:39 AliCaloTrackESDReader.cxx:40 AliCaloTrackESDReader.cxx:41 AliCaloTrackESDReader.cxx:42 AliCaloTrackESDReader.cxx:43 AliCaloTrackESDReader.cxx:44 AliCaloTrackESDReader.cxx:45 AliCaloTrackESDReader.cxx:46 AliCaloTrackESDReader.cxx:47 AliCaloTrackESDReader.cxx:48 AliCaloTrackESDReader.cxx:49 AliCaloTrackESDReader.cxx:50 AliCaloTrackESDReader.cxx:51 AliCaloTrackESDReader.cxx:52 AliCaloTrackESDReader.cxx:53 AliCaloTrackESDReader.cxx:54 AliCaloTrackESDReader.cxx:55 AliCaloTrackESDReader.cxx:56 AliCaloTrackESDReader.cxx:57 AliCaloTrackESDReader.cxx:58 AliCaloTrackESDReader.cxx:59 AliCaloTrackESDReader.cxx:60 AliCaloTrackESDReader.cxx:61 AliCaloTrackESDReader.cxx:62 AliCaloTrackESDReader.cxx:63 AliCaloTrackESDReader.cxx:64 AliCaloTrackESDReader.cxx:65 AliCaloTrackESDReader.cxx:66 AliCaloTrackESDReader.cxx:67 AliCaloTrackESDReader.cxx:68 AliCaloTrackESDReader.cxx:69 AliCaloTrackESDReader.cxx:70 AliCaloTrackESDReader.cxx:71 AliCaloTrackESDReader.cxx:72 AliCaloTrackESDReader.cxx:73 AliCaloTrackESDReader.cxx:74 AliCaloTrackESDReader.cxx:75 AliCaloTrackESDReader.cxx:76 AliCaloTrackESDReader.cxx:77 AliCaloTrackESDReader.cxx:78 AliCaloTrackESDReader.cxx:79 AliCaloTrackESDReader.cxx:80 AliCaloTrackESDReader.cxx:81 AliCaloTrackESDReader.cxx:82 AliCaloTrackESDReader.cxx:83 AliCaloTrackESDReader.cxx:84 AliCaloTrackESDReader.cxx:85 AliCaloTrackESDReader.cxx:86 AliCaloTrackESDReader.cxx:87 AliCaloTrackESDReader.cxx:88 AliCaloTrackESDReader.cxx:89 AliCaloTrackESDReader.cxx:90 AliCaloTrackESDReader.cxx:91 AliCaloTrackESDReader.cxx:92 AliCaloTrackESDReader.cxx:93 AliCaloTrackESDReader.cxx:94 AliCaloTrackESDReader.cxx:95 AliCaloTrackESDReader.cxx:96 AliCaloTrackESDReader.cxx:97 AliCaloTrackESDReader.cxx:98 AliCaloTrackESDReader.cxx:99 AliCaloTrackESDReader.cxx:100 AliCaloTrackESDReader.cxx:101 AliCaloTrackESDReader.cxx:102 AliCaloTrackESDReader.cxx:103 AliCaloTrackESDReader.cxx:104 AliCaloTrackESDReader.cxx:105 AliCaloTrackESDReader.cxx:106 AliCaloTrackESDReader.cxx:107 AliCaloTrackESDReader.cxx:108 AliCaloTrackESDReader.cxx:109 AliCaloTrackESDReader.cxx:110 AliCaloTrackESDReader.cxx:111 AliCaloTrackESDReader.cxx:112 AliCaloTrackESDReader.cxx:113 AliCaloTrackESDReader.cxx:114 AliCaloTrackESDReader.cxx:115 AliCaloTrackESDReader.cxx:116 AliCaloTrackESDReader.cxx:117 AliCaloTrackESDReader.cxx:118 AliCaloTrackESDReader.cxx:119 AliCaloTrackESDReader.cxx:120 AliCaloTrackESDReader.cxx:121 AliCaloTrackESDReader.cxx:122 AliCaloTrackESDReader.cxx:123 AliCaloTrackESDReader.cxx:124 AliCaloTrackESDReader.cxx:125 AliCaloTrackESDReader.cxx:126 AliCaloTrackESDReader.cxx:127 AliCaloTrackESDReader.cxx:128 AliCaloTrackESDReader.cxx:129 AliCaloTrackESDReader.cxx:130 AliCaloTrackESDReader.cxx:131 AliCaloTrackESDReader.cxx:132 AliCaloTrackESDReader.cxx:133 AliCaloTrackESDReader.cxx:134 AliCaloTrackESDReader.cxx:135 AliCaloTrackESDReader.cxx:136 AliCaloTrackESDReader.cxx:137 AliCaloTrackESDReader.cxx:138 AliCaloTrackESDReader.cxx:139 AliCaloTrackESDReader.cxx:140 AliCaloTrackESDReader.cxx:141 AliCaloTrackESDReader.cxx:142 AliCaloTrackESDReader.cxx:143 AliCaloTrackESDReader.cxx:144 AliCaloTrackESDReader.cxx:145 AliCaloTrackESDReader.cxx:146 AliCaloTrackESDReader.cxx:147 AliCaloTrackESDReader.cxx:148 AliCaloTrackESDReader.cxx:149 AliCaloTrackESDReader.cxx:150 AliCaloTrackESDReader.cxx:151 AliCaloTrackESDReader.cxx:152 AliCaloTrackESDReader.cxx:153 AliCaloTrackESDReader.cxx:154 AliCaloTrackESDReader.cxx:155 AliCaloTrackESDReader.cxx:156 AliCaloTrackESDReader.cxx:157 AliCaloTrackESDReader.cxx:158 AliCaloTrackESDReader.cxx:159 AliCaloTrackESDReader.cxx:160 AliCaloTrackESDReader.cxx:161 AliCaloTrackESDReader.cxx:162 AliCaloTrackESDReader.cxx:163 AliCaloTrackESDReader.cxx:164 AliCaloTrackESDReader.cxx:165 AliCaloTrackESDReader.cxx:166 AliCaloTrackESDReader.cxx:167 AliCaloTrackESDReader.cxx:168 AliCaloTrackESDReader.cxx:169 AliCaloTrackESDReader.cxx:170 AliCaloTrackESDReader.cxx:171 AliCaloTrackESDReader.cxx:172 AliCaloTrackESDReader.cxx:173 AliCaloTrackESDReader.cxx:174 AliCaloTrackESDReader.cxx:175 AliCaloTrackESDReader.cxx:176 AliCaloTrackESDReader.cxx:177 AliCaloTrackESDReader.cxx:178 AliCaloTrackESDReader.cxx:179 AliCaloTrackESDReader.cxx:180 AliCaloTrackESDReader.cxx:181 AliCaloTrackESDReader.cxx:182 AliCaloTrackESDReader.cxx:183 AliCaloTrackESDReader.cxx:184 AliCaloTrackESDReader.cxx:185 AliCaloTrackESDReader.cxx:186 AliCaloTrackESDReader.cxx:187 AliCaloTrackESDReader.cxx:188 AliCaloTrackESDReader.cxx:189 AliCaloTrackESDReader.cxx:190 AliCaloTrackESDReader.cxx:191 AliCaloTrackESDReader.cxx:192 AliCaloTrackESDReader.cxx:193 AliCaloTrackESDReader.cxx:194 AliCaloTrackESDReader.cxx:195 AliCaloTrackESDReader.cxx:196 AliCaloTrackESDReader.cxx:197 AliCaloTrackESDReader.cxx:198 AliCaloTrackESDReader.cxx:199 AliCaloTrackESDReader.cxx:200 AliCaloTrackESDReader.cxx:201 AliCaloTrackESDReader.cxx:202 AliCaloTrackESDReader.cxx:203 AliCaloTrackESDReader.cxx:204 AliCaloTrackESDReader.cxx:205 AliCaloTrackESDReader.cxx:206 AliCaloTrackESDReader.cxx:207 AliCaloTrackESDReader.cxx:208 AliCaloTrackESDReader.cxx:209 AliCaloTrackESDReader.cxx:210 AliCaloTrackESDReader.cxx:211 AliCaloTrackESDReader.cxx:212 AliCaloTrackESDReader.cxx:213 AliCaloTrackESDReader.cxx:214 AliCaloTrackESDReader.cxx:215 AliCaloTrackESDReader.cxx:216 AliCaloTrackESDReader.cxx:217