]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
updates in esd chain kine reader; added function to choose only primary particles
authormaszyman <maszyman@cern.ch>
Mon, 24 Feb 2014 17:27:06 +0000 (18:27 +0100)
committermaszyman <maszyman@cern.ch>
Mon, 24 Feb 2014 17:28:35 +0000 (18:28 +0100)
PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChainKine.cxx
PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChainKine.h

index 305e8f333a6e9c95ca18896af0cb011d6c6ca7c3..e21360f602c28f7998042f9da88829fe1a7c3926 100644 (file)
@@ -62,7 +62,8 @@ AliFemtoEventReaderESDChainKine::AliFemtoEventReaderESDChainKine():
   fIsPidOwner(0),
   fMagFieldSign(0),
   fReadV0(0),
-  isKaonAnalysis(kFALSE)
+  isKaonAnalysis(kFALSE),
+  fOnlyPrimaries(kFALSE)
 
 {
   //constructor with 0 parameters , look at default settings
@@ -88,7 +89,9 @@ AliFemtoEventReaderESDChainKine::AliFemtoEventReaderESDChainKine(const AliFemtoE
   fIsPidOwner(0),
   fMagFieldSign(0),
   fReadV0(0),
-  isKaonAnalysis(kFALSE)
+  isKaonAnalysis(kFALSE),
+  fOnlyPrimaries(kFALSE)
+
 
 {
   // Copy constructor
@@ -108,6 +111,7 @@ AliFemtoEventReaderESDChainKine::AliFemtoEventReaderESDChainKine(const AliFemtoE
   fMagFieldSign = aReader.fMagFieldSign;
   fReadV0 = aReader.fReadV0;
   isKaonAnalysis = aReader.isKaonAnalysis;
+  fOnlyPrimaries = aReader.fOnlyPrimaries;
 
 }
 //__________________
@@ -139,6 +143,7 @@ AliFemtoEventReaderESDChainKine& AliFemtoEventReaderESDChainKine::operator=(cons
   fMagFieldSign = aReader.fMagFieldSign;
   fReadV0 = aReader.fReadV0;
   isKaonAnalysis = aReader.isKaonAnalysis;
+  fOnlyPrimaries = aReader.fOnlyPrimaries;
 
   return *this;
 }
@@ -692,6 +697,12 @@ AliFemtoEvent* AliFemtoEventReaderESDChainKine::ReturnHbtEvent()
        fpz *= 1e13;
        fpt *= 1e13;
 
+
+  if (fOnlyPrimaries && !fStack->IsPhysicalPrimary(TMath::Abs(esdtrack->GetLabel()))){
+    delete trackCopy;
+    continue;
+  }
+
        // fillDCA
 
        if (TMath::Abs(impact[0]) > 0.001) {
@@ -1126,6 +1137,11 @@ void AliFemtoEventReaderESDChainKine::SetKaonAnalysis(Bool_t a)
   isKaonAnalysis = a;
 }
 
+void AliFemtoEventReaderESDChainKine::SetOnlyPrimaries(Bool_t a)
+{
+  fOnlyPrimaries = a;
+}
+
 void AliFemtoEventReaderESDChainKine::CopyESDtoFemtoV0(AliESDv0 *tESDv0, AliFemtoV0 *tFemtoV0, AliESDEvent *tESDevent)
 {
   double fPrimaryVtxPosition[3];
index 2c4b581959125aa9b60fb99df5be7660684891cb..e5a645b18a8b7269f4e807e210420750c9551744 100644 (file)
@@ -69,6 +69,7 @@ class AliFemtoEventReaderESDChainKine : public AliFemtoEventReader
   void GetGlobalPositionAtGlobalRadiiThroughTPC(AliESDtrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3]);
   void SetMagneticFieldSign(int s);
   void SetKaonAnalysis(Bool_t);
+  void SetOnlyPrimaries(Bool_t);
 
  protected:
 
@@ -96,6 +97,8 @@ class AliFemtoEventReaderESDChainKine : public AliFemtoEventReader
   int            fMagFieldSign;     // Magnetic field sign
   bool           fReadV0;
   Bool_t isKaonAnalysis; // switch for Kaon analysis
+  Bool_t fOnlyPrimaries; // switch to analyze only primaries
+
 #ifdef __ROOT__
   ClassDef(AliFemtoEventReaderESDChainKine, 1)
 #endif