Plot of pT for D0 added (Gaute)
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 13 Apr 2010 07:51:32 +0000 (07:51 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 13 Apr 2010 07:51:32 +0000 (07:51 +0000)
HLT/trigger/AliHLTD0Trigger.cxx
HLT/trigger/AliHLTD0Trigger.h
HLT/trigger/AliHLTD0toKpi.cxx
HLT/trigger/AliHLTD0toKpi.h

index 884cd96..1af4375 100644 (file)
@@ -61,6 +61,7 @@ AliHLTD0Trigger::AliHLTD0Trigger()
   , fUseV0(false)
   , mD0PDG(TDatabasePDG::Instance()->GetParticle(421)->Mass())
   , fD0mass(NULL)
+  , fD0pt(NULL)
   , fPos()
   , fNeg()
   , fd0calc(NULL)                  
@@ -176,7 +177,10 @@ int AliHLTD0Trigger::DoTrigger()
   HLTDebug("Total Number of D0 found: %d",fTotalD0);
   HLTDebug("Total Number of True D0 found: %d",fTotalD0true);
 
-  if(fplothisto){PushBack( (TObject*) fD0mass, kAliHLTDataTypeHistogram,0);}
+  if(fplothisto){
+    PushBack( (TObject*) fD0mass, kAliHLTDataTypeHistogram,0);
+    PushBack( (TObject*) fD0pt, kAliHLTDataTypeHistogram,0);
+  }
   
   //if (iResult>=0) {
   if (1) {
@@ -219,6 +223,7 @@ int AliHLTD0Trigger::DoInit(int argc, const char** argv)
   fplothisto=false;
   // see header file for class documentation
   fD0mass = new TH1F("hMass","D^{0} mass plot",100,1.7,2);
+  fD0pt = new TH1F("hPt","D^{0} Pt plot",20,0,20);
   // first configure the default
   int iResult=0;
   if (iResult>=0) iResult=ConfigureFromCDBTObjString(fgkOCDBEntry);
@@ -412,6 +417,7 @@ void AliHLTD0Trigger::RecD0(Int_t& nD0, Int_t& nD0true){
        //fD0mass->Fill(minvbar);
        fD0mass->Fill(fd0calc->InvMass(tN,tP));
        fD0mass->Fill(fd0calc->InvMass(tP,tN));
+       fD0pt->Fill(fd0calc->Pt(tP,tN));
        /*
        if((fd0calc->InvMass(tN,tP) - mD0PDG) > finvMass){
          fD0mass->Fill(fd0calc->InvMass(tN,tP));
index 790102c..dc1d520 100644 (file)
@@ -49,7 +49,7 @@ class AliHLTMCEvent;
  * \li -d0    <i> Impact parameter for decay products  </i> <br>
  * \li -d0d0    <i> Product of impact parameter for decay products  </i> <br>
  * \li -cospoint    <i> pointing angle  </i> <br>
- * \li -plothistogram    <i> ploting the inv. mass histogram  </i> <br>
+ * \li -plothistogram    <i> ploting the inv. mass and pt of D0  </i> <br>
  *
  * By default, configuration is loaded from OCDB, can be overridden by
  * component arguments.
@@ -129,6 +129,7 @@ class AliHLTD0Trigger : public AliHLTTrigger
 
   /// D0 inv. mass plot
   TH1F *fD0mass;                                           //! transient  
+  TH1F *fD0pt;                                             //! transient  
 
   vector<AliExternalTrackParam*> fPos;                       //! transient
   vector<AliExternalTrackParam*> fNeg;                       //! transient
index 9eff08c..694ce82 100644 (file)
@@ -119,3 +119,13 @@ AliAODVertex* AliHLTD0toKpi::ReconstructSecondaryVertex(TObjArray *trkArray, Dou
   return vertexAOD;
 
 }
+Double_t AliHLTD0toKpi::Pt(AliExternalTrackParam* d1, AliExternalTrackParam* d2)
+{
+  Double_t p1[3],p2[3];
+  d1->GetPxPyPz(p1);
+  d2->GetPxPyPz(p2);
+  
+  Double_t pt2 = (p1[0]+p2[0])*(p1[0]+p2[0]) + (p1[1]+p2[1])*(p1[1]+p2[1]);
+
+  return TMath::Sqrt(pt2);
+}
index 7c7fdec..9d9fa7b 100644 (file)
@@ -26,6 +26,7 @@ public:
   Double_t InvMass(AliExternalTrackParam* d1, AliExternalTrackParam* d2);
   void cosThetaStar(AliExternalTrackParam* n, AliExternalTrackParam* p,Double_t &D0,Double_t &D0bar);
   Double_t pointingAngle(AliExternalTrackParam* n, AliExternalTrackParam* p, Double_t *pv, Double_t *sv);
+  Double_t Pt(AliExternalTrackParam* d1, AliExternalTrackParam* d2);
 
   AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray, Double_t b, AliESDVertex *v);