Store number of diffractive collisions in header.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Oct 2012 07:57:05 +0000 (07:57 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Oct 2012 07:57:05 +0000 (07:57 +0000)
C. Loizides

THijing/AliGenHijing.cxx
THijing/AliGenHijing.h

index aa1a28f..df3ccea 100644 (file)
@@ -400,6 +400,7 @@ void AliGenHijing::Generate()
          }
       }
   } // event loop
+
   MakeHeader();
   SetHighWaterMark(nt);
 }
@@ -593,6 +594,23 @@ void AliGenHijing::MakeHeader()
 // Event Vertex
     fHeader.SetPrimaryVertex(fVertex);
     fHeader.SetInteractionTime(fTime);
+
+    Int_t nsd1 = 0,nsd2 = 0,ndd = 0;
+    Int_t nT = fHijing->GetNT();
+    Int_t nP = fHijing->GetNP();
+    for (Int_t i = 1; i <= nP; ++i) {
+      for (Int_t j = 1; j <= nT; ++j) {
+      Int_t tp = fHijing->GetNFP(i, 5);
+      Int_t tt = fHijing->GetNFT(j, 5);
+      if (tp == 2)
+        nsd1++;
+      if (tt == 2)
+        nsd2++;
+      if (tp == 2 && tt == 2)
+        ndd++;
+      }
+    }
+    fHeader.SetNDiffractive(nsd1, nsd2, ndd);
     AddHeader(&fHeader);
     fCollisionGeometry = &fHeader;
 }
index 500b6a4..010ae41 100644 (file)
@@ -78,7 +78,7 @@ class AliGenHijing : public AliGenMC
        {etamin = fEtaMinJet; etamax = fEtaMaxJet;}
     virtual void    GetJetPhiRange(Float_t& phimin, Float_t& phimax)      const
        {phimin = fPhiMinJet*180./TMath::Pi(); phimax = fPhiMaxJet*180./TMath::Pi();}
-    
+     THijing       *GetTHijing()                         const {return fHijing;}
 
 // Physics Routines
     virtual Bool_t  ProvidesCollisionGeometry() const {return kTRUE;}