]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/JetTasks/AliAnalyseLeadingTrackUE.cxx
run on AOD branches
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalyseLeadingTrackUE.cxx
index 4fbd1329c30ad9583f0bcc8ff8c9731fe47ff354..9b8eafc221ef17ec4526ad95edef6e734340e88a 100644 (file)
@@ -70,6 +70,7 @@ AliAnalyseLeadingTrackUE::AliAnalyseLeadingTrackUE() :
   fFilterBit(16),
   fOnlyHadrons(kFALSE),
   fTrackEtaCut(0.8),
+  fTrackPtMin(0),
   fEsdTrackCuts(0x0), 
   fEsdTrackCutsSPD(0x0), 
   fEsdTrackCutsSDD(0x0) 
@@ -159,7 +160,7 @@ TObjArray*  AliAnalyseLeadingTrackUE::FindLeadingObjects(TObject *obj)
 
 
 //-------------------------------------------------------------------
-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
@@ -173,6 +174,10 @@ TObjArray* AliAnalyseLeadingTrackUE::GetAcceptedParticles(TObject* obj, TObject*
     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
@@ -303,6 +308,13 @@ AliVParticle*  AliAnalyseLeadingTrackUE::ParticleWithCuts(TObject* obj, Int_t ip
                   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
@@ -347,7 +359,9 @@ AliVParticle*  AliAnalyseLeadingTrackUE::ParticleWithCuts(TObject* obj, Int_t ip
         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;
@@ -433,6 +447,8 @@ TObjArray*  AliAnalyseLeadingTrackUE::SortRegions(const AliVParticle* leading, T
   TList *transverse2 = new TList();
   
   TObjArray *regionParticles = new TObjArray;
+  regionParticles->SetOwner(kTRUE);
+  
   regionParticles->AddLast(toward);
   regionParticles->AddLast(away);
   regionParticles->AddLast(transverse1);
@@ -497,14 +513,17 @@ TObjArray*  AliAnalyseLeadingTrackUE::SortRegions(const AliVParticle* leading, T
 //____________________________________________________________________
 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;
 }
 
 //____________________________________________________________________