Int_t label = partReconstructed->GetLabel();
if (label == 0)
{
+ /*
+ Printf(">>> TPC only track:");
+ partReconstructed->Print();
+ partReconstructed->Dump();
+ Printf(">>> Global track:");
+ ((AliESDEvent*) obj)->GetTrack(ipart)->Dump();
+ Printf("Fake (TPC only): eta = %f, phi = %f, pT = %f, ncl = %d, dedx = %f", partReconstructed->Eta(), partReconstructed->Phi(), partReconstructed->Pt(), ((AliESDtrack*) partReconstructed)->GetTPCclusters(0), ((AliESDtrack*) partReconstructed)->GetTPCsignal());
+ Printf("Fake (global ): eta = %f, phi = %f, pT = %f, ncl = %d, dedx = %f", ((AliESDEvent*) obj)->GetTrack(ipart)->Eta(), ((AliESDEvent*) obj)->GetTrack(ipart)->Phi(), ((AliESDEvent*) obj)->GetTrack(ipart)->Pt(), ((AliESDEvent*) obj)->GetTrack(ipart)->GetTPCclusters(0), ((AliESDEvent*) obj)->GetTrack(ipart)->GetTPCsignal());
+ */
tracksFake->AddLast(partReconstructed);
continue;
}
- if (hasOwnership)
- delete partReconstructed;
+
AliVParticle* partOriginal = ParticleWithCuts(arrayMC, TMath::Abs(label),onlyprimaries, particleSpecies);
- if (!partOriginal)continue;
+ if (!partOriginal)
+ {
+ if (hasOwnership)
+ delete partReconstructed;
+ continue;
+ }
tracksReconstructed->AddLast(partReconstructed);
tracksOriginal->AddLast(partOriginal);
#include "AliEventPoolManager.h"
+#include "AliESDZDC.h"
+
////////////////////////////////////////////////////////////////////////
//
}
fHistos->FillTrackingEfficiency(0, 0, 0, (TObjArray*) fakeParticles->At(2), -1, centrality);
fHistos->FillFakePt(fakeParticles, centrality);
- Printf(">>>>> %d fakes", ((TObjArray*) fakeParticles->At(2))->GetEntriesFast());
+// Printf(">>>>> %d %d %d fakes", ((TObjArray*) fakeParticles->At(0))->GetEntriesFast(), ((TObjArray*) fakeParticles->At(1))->GetEntriesFast(), ((TObjArray*) fakeParticles->At(2))->GetEntriesFast());
delete fakeParticles;
// (MC-true all particles)
return;
// skip not selected events here (the AOD is not updated for those)
- if (!(fInputHandler->IsEventSelected() & fSelectBit))
+ if (!fSkipTrigger && !(fInputHandler->IsEventSelected() & fSelectBit))
return;
Double_t centrality = 0;
AliCentrality *centralityObj = 0;
if (fCentralityMethod.Length() > 0)
{
- if (fAOD)
- centralityObj = fAOD->GetHeader()->GetCentralityP();
- else if (fESD)
- centralityObj = fESD->GetCentrality();
-
- if (centralityObj)
- centrality = centralityObj->GetCentralityPercentile(fCentralityMethod);
- //centrality = centralityObj->GetCentralityPercentileUnchecked(fCentralityMethod);
+ if (fCentralityMethod == "ZNA_MANUAL")
+ {
+ // code from Chiara O (23.10.12)
+ const Double_t *fZNAtower = fESD->GetZDCData()->GetZN2TowerEnergy();
+ Float_t znacut[3] = {680., 562., 412.};
+
+ if(fZNAtower[0]>znacut[0]) centrality = 1;
+ else if(fZNAtower[0]<=znacut[0] && fZNAtower[0]>znacut[1]) centrality = 21;
+ else if(fZNAtower[0]<=znacut[1] && fZNAtower[0]>znacut[2]) centrality = 41;
+ else if(fZNAtower[0]<=znacut[2]) centrality = 61;
+ }
else
- centrality = -1;
-
- if (fAOD)
{
- // remove outliers
- if (centrality == 0)
+ if (fAOD)
+ centralityObj = fAOD->GetHeader()->GetCentralityP();
+ else if (fESD)
+ centralityObj = fESD->GetCentrality();
+
+ if (centralityObj)
+ centrality = centralityObj->GetCentralityPercentile(fCentralityMethod);
+ //centrality = centralityObj->GetCentralityPercentileUnchecked(fCentralityMethod);
+ else
+ centrality = -1;
+
+ if (fAOD)
{
- if (fAOD->GetVZEROData())
+ // remove outliers
+ if (centrality == 0)
{
- Float_t multV0 = 0;
- for (Int_t i=0; i<64; i++)
- multV0 += fAOD->GetVZEROData()->GetMultiplicity(i);
- if (multV0 < 19500)
+ if (fAOD->GetVZEROData())
{
- centrality = -1;
- AliInfo("Rejecting event due to too small V0 multiplicity");
+ Float_t multV0 = 0;
+ for (Int_t i=0; i<64; i++)
+ multV0 += fAOD->GetVZEROData()->GetMultiplicity(i);
+ if (multV0 < 19500)
+ {
+ centrality = -1;
+ AliInfo("Rejecting event due to too small V0 multiplicity");
+ }
}
}
}
fHistos->FillEvent(centrality, AliUEHist::kCFStepAll);
// Trigger selection ************************************************
- if (!fAnalyseUE->TriggerSelection(fInputHandler)) return;
+ if (!fSkipTrigger && !fAnalyseUE->TriggerSelection(fInputHandler)) return;
// Fill the "event-counting-container", it is needed to get the number of events remaining after each event-selection cut
fHistos->FillEvent(centrality, AliUEHist::kCFStepTriggered);