]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/AliMCInfoCuts.cxx
modifications to TLists naming to allow merging
[u/mrichter/AliRoot.git] / PWG1 / AliMCInfoCuts.cxx
index 84cdb83654fa6b9de4ef2810458a72580e5d1480..bf32212bb0cd236dc3f3036fe312db2bdafc8d4d 100644 (file)
@@ -1,3 +1,18 @@
+/**************************************************************************
+* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+*                                                                        *
+* Author: The ALICE Off-line Project.                                    *
+* Contributors are mentioned in the code where appropriate.              *
+*                                                                        *
+* Permission to use, copy, modify and distribute this software and its   *
+* documentation strictly for non-commercial purposes is hereby granted   *
+* without fee, provided that the above copyright notice appears in all   *
+* copies and that both the copyright notice and this permission notice   *
+* appear in the supporting documentation. The authors make no claims     *
+* about the suitability of this software for any purpose. It is          *
+* provided "as is" without express or implied warranty.                  *
+**************************************************************************/
+
 //------------------------------------------------------------------------------
 // Impementation of AliMCInfoCuts class. It keeps selection cuts for MC tracks. 
 // 
@@ -24,6 +39,7 @@ AliAnalysisCuts(name, title)
 , fMaxVz(0)
 , fMinTPCSignal(0)
 , fMaxTPCSignal(0)
+, fMinTrackLength(0)
 , aTrackParticles(0)
 {
   // default constructor 
@@ -51,6 +67,7 @@ void AliMCInfoCuts::Init()
   SetMaxR();
   SetMaxVz();
   SetRangeTPCSignal();
+  SetMinTrackLength();
 
   // create aTrackParticles array
   aTrackParticles = new TArrayI(kNParticles); // max nb. of particles
@@ -97,6 +114,27 @@ Bool_t AliMCInfoCuts::IsPdgParticle(Int_t pdgcode) const
   return kFALSE;
 }
 
+//_____________________________________________________________________________
+Bool_t AliMCInfoCuts::IsPosPdgParticle(Int_t pdgcode) const
+{
+  // check PDG particle (only positive charged) 
+  if(aTrackParticles == 0) { 
+    AliDebug(AliLog::kError, "ERROR: Cannot get particle array");
+    return kFALSE;
+  }
+
+  Int_t size = aTrackParticles->GetSize();
+  for(int i=0; i<size; ++i) {
+    // leptons have oposite pdg convension from hadrons (e+/e- = -11/11)
+    if(pdgcode > 0 && (pdgcode == 11 || pdgcode == 13)) return kFALSE; 
+    if(pdgcode < 0 && (pdgcode != -11 || pdgcode != -13) ) return kFALSE; 
+       // 
+    if(pdgcode == aTrackParticles->At(i)) return kTRUE;
+  }
+  return kFALSE;
+}
+
+
 //_____________________________________________________________________________
 Long64_t AliMCInfoCuts::Merge(TCollection* list) 
 {