]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/AliMCInfoCuts.cxx
OnFlyStatus added (B. Hyppolyte)
[u/mrichter/AliRoot.git] / PWG1 / AliMCInfoCuts.cxx
index 84cdb83654fa6b9de4ef2810458a72580e5d1480..6f2f47323382a722968361f2b2961e23fea443b7 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. 
 // 
@@ -97,6 +112,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) 
 {