Merge revs 30349 and 30378 from the EVE-root-trunk branch - they were committed there...
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 11 Dec 2008 22:33:37 +0000 (22:33 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 11 Dec 2008 22:33:37 +0000 (22:33 +0000)
EVE/EveBase/AliEveV0.cxx
EVE/EveBase/AliEveV0.h
EVE/EveBase/AliEveV0Editor.cxx
EVE/macros/anyscan_init.C

index fcdd140..1fbad9b 100644 (file)
@@ -17,6 +17,9 @@
 #include <TPolyMarker3D.h>
 #include <TColor.h>
 
+#include <TDatabasePDG.h>
+#include <TParticlePDG.h>
+
 #include <vector>
 
 
@@ -107,6 +110,24 @@ AliEveV0::~AliEveV0()
 }
 
 //______________________________________________________________________________
+Float_t AliEveV0::GetInvMass(Float_t nPdgCode, Float_t pPdgCode) const
+{
+  // Returns Invariant Mass assuming the masses of the daughter particles
+  TEveVector lNegMomentum = fNegTrack->GetMomentum();
+  // Does not work properly because momenta at the primary vertex !!!!!!!
+  TEveVector lPosMomentum = fPosTrack->GetMomentum();
+  Double_t nMass=TDatabasePDG::Instance()->GetParticle(nPdgCode)->Mass();
+  Double_t pMass=TDatabasePDG::Instance()->GetParticle(pPdgCode)->Mass();
+
+  printf("\n check the mass of the particle negative %.5f positive %.5f \n",nMass,pMass);
+
+  Double_t eNeg = TMath::Sqrt(nMass*nMass + lNegMomentum.Mag2());
+  Double_t ePos = TMath::Sqrt(pMass*pMass + lPosMomentum.Mag2());
+
+  return TMath::Sqrt( (eNeg+ePos)*(eNeg+ePos) - fRecDecayP.Mag2() );
+}
+
+//______________________________________________________________________________
 void AliEveV0::MakeV0()
 {
   // Set all dependant components for drawing.
index eb61fcf..be70c02 100644 (file)
@@ -26,6 +26,8 @@
 #include <TPolyMarker3D.h>
 #include <TPolyLine3D.h>
 
+#include <TPDGCode.h>
+
 class TH1F;
 class TH2F;
 
@@ -59,6 +61,11 @@ public:
   Float_t GetRadius() const { return fRecDecayV.Perp(); }
   Float_t GetPt()     const { return fRecDecayP.Perp(); }
 
+  Float_t GetInvMass(Float_t nPdgCode, Float_t pPdgCode) const;
+  Float_t GetK0sInvMass() const { return GetInvMass(kPiMinus,kPiPlus); }
+  Float_t GetLambdaInvMass() const { return GetInvMass(kPiMinus,kProton); }
+  Float_t GetAntiLambdaInvMass() const { return GetInvMass(kProton,kPiPlus); }
+
   Bool_t GetOnFlyStatus()    const { return fOnFlyStatus; }
   void   SetOnFlyStatus(Bool_t fs) { fOnFlyStatus = fs; }
 
index 3dbb159..38a8c90 100644 (file)
@@ -96,7 +96,7 @@ void AliEveV0Editor::SetModel(TObject* obj)
 
 void AliEveV0Editor::DisplayDetailed()
 {
-  printf("Hura!\n");
+  printf("\n Checking invariant mass calculations: K0s %.3f lambda %.3f antilambda %.3f \n",fM->GetK0sInvMass(),fM->GetLambdaInvMass(),fM->GetAntiLambdaInvMass());
 
   TEveWindowSlot *slot = TEveWindow::CreateWindowMainFrame();
   TEveWindowPack *pack = slot->MakePack();
@@ -119,7 +119,8 @@ void AliEveV0Editor::DisplayDetailed()
   TEveWindowFrame *frame = slot->MakeFrame(new TRootEmbeddedCanvas());
   frame->SetElementName("Details");
 
-  TLatex* ltx = new TLatex(0.2, 0.2, "#frac{Jacques}{Zoozoo}");
+  TLatex* ltx = new TLatex(0.2, 0.2, "#eta = #frac{1}{2} #times Ln(#frac{E+p_{z}}{E-p_{z}} )");
+  ltx->SetTextSize(0.08);
   ltx->Draw();
 
   gEve->Redraw3D();
index 90d3868..69741a2 100644 (file)
@@ -78,6 +78,7 @@ void anyscan_init()
 
   gRPhiMgr = new TEveProjectionManager();
   gRPhiMgr->SetProjection(TEveProjection::kPT_RPhi);
+  gEve->AddToListTree(gRPhiMgr, kFALSE);
   {
     TEveProjectionAxes* a = new TEveProjectionAxes(gRPhiMgr);
     a->SetMainColor(kWhite);
@@ -94,6 +95,7 @@ void anyscan_init()
 
   gRhoZMgr = new TEveProjectionManager();
   gRhoZMgr->SetProjection(TEveProjection::kPT_RhoZ);
+  gEve->AddToListTree(gRhoZMgr, kFALSE);
   {
     TEveProjectionAxes* a = new TEveProjectionAxes(gRhoZMgr);
     a->SetMainColor(kWhite);