// Define arrays for muons
Double_t pos[3];
Double_t p[3];
- Double_t pid[10];
+ // Double_t pid[10];
// has to be changed once the muon pid is provided by the ESD
- for (Int_t i = 0; i < 10; pid[i++] = 0.) {}
- pid[AliAODTrack::kMuon]=1.;
+ // for (Int_t i = 0; i < 10; pid[i++] = 0.) {}
+ // pid[AliAODTrack::kMuon]=1.;
- AliAODHeader* header = AODEvent()->GetHeader();
+ AliAODHeader* header = dynamic_cast<AliAODHeader*>(AODEvent()->GetHeader());
+ if(!header) AliFatal("Not a standard AOD");
AliAODTrack *aodTrack = 0x0;
AliESDMuonTrack *esdMuTrack = 0x0;
0x0, // covariance matrix
esdMuTrack->Charge(), // charge
0, // ITSClusterMap
- pid, // pid
+ // pid, // pid
primary, // primary vertex
kFALSE, // used for vertex fit?
kFALSE, // used for primary vertex fit?
selectInfo
);
+ aodTrack->SetPIDForTracking(AliPID::kMuon);
aodTrack->SetXYAtDCA(esdMuTrack->GetNonBendingCoorAtDCA(), esdMuTrack->GetBendingCoorAtDCA());
aodTrack->SetPxPyPzAtDCA(esdMuTrack->PxAtDCA(), esdMuTrack->PyAtDCA(), esdMuTrack->PzAtDCA());
aodTrack->ConvertAliPIDtoAODPID();
for (Int_t i = 0; i < esdTrack->GetNClusters(); i++)
{
- AliESDMuonCluster* cluster = static_cast<AliESDMuonCluster*>( esdTrack->GetClusters()[i] );
+ AliESDMuonCluster* cluster = esdTrack->GetESDEvent()->FindMuonCluster(esdTrack->GetClusterId(i));
Double_t varX = cluster->GetErrX2();
Double_t varY = cluster->GetErrY2();
// If the variance is zero then use the default one or just 1