fFilterBit(16),
fOnlyHadrons(kFALSE),
fTrackEtaCut(0.8),
+ fTrackPtMin(0),
fEsdTrackCuts(0x0),
fEsdTrackCutsSPD(0x0),
fEsdTrackCutsSDD(0x0)
//-------------------------------------------------------------------
-TObjArray* AliAnalyseLeadingTrackUE::GetAcceptedParticles(TObject* obj, TObject* arrayMC, Bool_t onlyprimaries, Int_t particleSpecies)
+TObjArray* AliAnalyseLeadingTrackUE::GetAcceptedParticles(TObject* obj, TObject* arrayMC, Bool_t onlyprimaries, Int_t particleSpecies, Bool_t useEtaPtCuts)
{
// Returns an array of particles that pass the cuts, if arrayMC is given each reconstructed particle is replaced by its corresponding MC particles, depending on the parameter onlyprimaries only for primaries
// particleSpecies: -1 all particles are returned
AliVParticle* part = ParticleWithCuts( obj, ipart, onlyprimaries, particleSpecies );
if (!part) continue;
+ if (useEtaPtCuts)
+ if (TMath::Abs(part->Eta()) > fTrackEtaCut || part->Pt() < fTrackPtMin)
+ continue;
+
if (arrayMC && arrayMC->InheritsFrom("TClonesArray") && obj->InheritsFrom("AliAODEvent")) {
Int_t label = ((AliAODTrack*)part)->GetLabel();
// re-define part as the matched MC particle
if (particleSpecies == 3 && (TMath::Abs(pdgCode)==211 || TMath::Abs(pdgCode)==321 || TMath::Abs(pdgCode)==2212))
return 0;
}
+ else
+ {
+ // if mother not found, accept particle only in case of particleSpecies == 3. To include it in all or no sample is no solution
+ Printf("WARNING: No mother found for particle %d", part->GetLabel());
+ if (particleSpecies != 3)
+ return 0;
+ }
}
}else if (obj->InheritsFrom("TObjArray")){ // list of AliVParticle
part = esdEvent->GetTrack(ipart);
if (!part)return 0;
// track selection cuts
- if (!( ApplyCuts(part)) )return 0;
+
+ if (!( ApplyCuts(part)) )
+ return 0;
// only primary candidates (does not exist for ESD tracks??????)
//if ( ((AliAODTrack*)part)->IsPrimaryCandidate() )return 0;
TList *transverse2 = new TList();
TObjArray *regionParticles = new TObjArray;
+ regionParticles->SetOwner(kTRUE);
+
regionParticles->AddLast(toward);
regionParticles->AddLast(away);
regionParticles->AddLast(transverse1);
//____________________________________________________________________
Bool_t AliAnalyseLeadingTrackUE::TriggerSelection(const TObject* obj)
{
+ if (!obj) // MC
+ return kFALSE;
//Use AliPhysicsSelection to select good events
if( !obj->InheritsFrom("AliAODInputHandler") ) { // not needed for AOD input
if (!(((AliInputEventHandler*)obj)->IsEventSelected()&AliVEvent::kMB))return kFALSE;
}
- return kTRUE;
+ // TODO for AOD input trigger bit needs to be checked too (is stored in the AOD)
+ return kTRUE;
}
//____________________________________________________________________