]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Add ReadTPCInner
authorakisiel <akisiel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 5 May 2008 16:29:41 +0000 (16:29 +0000)
committerakisiel <akisiel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 5 May 2008 16:29:41 +0000 (16:29 +0000)
PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.cxx
PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.h

index 3e0fd66596e7bad0e92bcadc3a26e4415fc46581..324ebee64117528c670260906253c9337a0fbf8c 100644 (file)
@@ -20,6 +20,7 @@
 #include "SystemOfUnits.h"
 
 #include "AliFemtoEvent.h"
+#include "AliFemtoModelHiddenInfo.h"
 
 ClassImp(AliFemtoEventReaderESDChain)
 
@@ -32,6 +33,7 @@ using namespace std;
 AliFemtoEventReaderESDChain::AliFemtoEventReaderESDChain():
   fFileName(" "),
   fConstrained(true),
+  fReadInner(false),
   fNumberofEvent(0),
   fCurEvent(0),
   fCurFile(0),
@@ -53,6 +55,7 @@ AliFemtoEventReaderESDChain::AliFemtoEventReaderESDChain(const AliFemtoEventRead
   AliFemtoEventReader(aReader),
   fFileName(" "),
   fConstrained(true),
+  fReadInner(false),
   fNumberofEvent(0),
   fCurEvent(0),
   fCurFile(0),
@@ -60,6 +63,7 @@ AliFemtoEventReaderESDChain::AliFemtoEventReaderESDChain(const AliFemtoEventRead
 {
   // Copy constructor
   fConstrained = aReader.fConstrained;
+  fReadInner = aReader.fReadInner;
   fNumberofEvent = aReader.fNumberofEvent;
   fCurEvent = aReader.fCurEvent;
   fCurFile = aReader.fCurFile;
@@ -109,6 +113,7 @@ AliFemtoEventReaderESDChain& AliFemtoEventReaderESDChain::operator=(const AliFem
     return *this;
 
   fConstrained = aReader.fConstrained;
+  fReadInner = aReader.fReadInner;
   fNumberofEvent = aReader.fNumberofEvent;
   fCurEvent = aReader.fCurEvent;
   fCurFile = aReader.fCurFile;
@@ -173,6 +178,16 @@ bool AliFemtoEventReaderESDChain::GetConstrained() const
   return fConstrained;
 }
 //__________________
+void AliFemtoEventReaderESDChain::SetReadTPCInner(const bool readinner)
+{
+  fReadInner=readinner;
+}
+
+bool AliFemtoEventReaderESDChain::GetReadTPCInner() const
+{
+  return fReadInner;
+}
+
 AliFemtoEvent* AliFemtoEventReaderESDChain::ReturnHbtEvent()
 {
   // Get the event, read all the relevant information
@@ -264,6 +279,21 @@ AliFemtoEvent* AliFemtoEventReaderESDChain::ReturnHbtEvent()
       trackCopy->SetPidProbProton(esdpid[4]);
                                                
       double pxyz[3];
+      if (fReadInner == true) {
+       
+       if (esdtrack->GetTPCInnerParam()) {
+         AliExternalTrackParam *param = new AliExternalTrackParam(*esdtrack->GetTPCInnerParam());
+         param->PropagateToDCA(fEvent->GetPrimaryVertex(), (fEvent->GetMagneticField()), 10000);
+         param->GetPxPyPz(pxyz);//reading noconstarined momentum
+         delete param;
+
+         AliFemtoModelHiddenInfo *tInfo = new AliFemtoModelHiddenInfo();
+         tInfo->SetPDGPid(211);
+         tInfo->SetTrueMomentum(pxyz[0], pxyz[1], pxyz[2]);
+         tInfo->SetMass(0.13957);
+         trackCopy->SetHiddenInfo(tInfo);
+       }
+      }
       if (fConstrained==true)              
        tGoodMomentum=esdtrack->GetConstrainedPxPyPz(pxyz); //reading constrained momentum
       else
index 792706b315bfd0ee217dabba8e9e2c343a7b2b30..e990c40c30388f53d77a85a618054975a62b4d11 100644 (file)
@@ -34,6 +34,8 @@ class AliFemtoEventReaderESDChain : public AliFemtoEventReader
   AliFemtoString Report();
   void SetConstrained(const bool constrained);
   bool GetConstrained() const;
+  void SetReadTPCInner(const bool readinner);
+  bool GetReadTPCInner() const;
 
   void SetESDSource(AliESDEvent *aESD);
   //  void SetESDfriendSource(AliESDfriend *aFriend);
@@ -43,6 +45,8 @@ class AliFemtoEventReaderESDChain : public AliFemtoEventReader
  private:
   string         fFileName;      //name of current ESD file
   bool           fConstrained;   //flag to set which momentum from ESD file will be use
+  bool           fReadInner;        // flag to set if one wants to read TPC-only momentum
+                                    // instead of the global one
   int            fNumberofEvent; //number of Events in ESD file
   int            fCurEvent;      //number of current event
   unsigned int   fCurFile;       //number of current file