Store impact parameter for q-pythia.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 2 Jul 2009 15:45:13 +0000 (15:45 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 2 Jul 2009 15:45:13 +0000 (15:45 +0000)
PYTHIA6/AliGenPythia.cxx
PYTHIA6/AliGenPythia.h
STEER/AliGenPythiaEventHeader.cxx
STEER/AliGenPythiaEventHeader.h

index afe4f90..a5e7727 100644 (file)
@@ -80,6 +80,7 @@ AliGenPythia::AliGenPythia():
     fQuench(0),
     fQhat(0.),
     fLength(0.),
+    fImpact(0.),
     fPtKick(1.),
     fFullEvent(kTRUE),
     fDecayer(new AliDecayerPythia()),
@@ -174,6 +175,7 @@ AliGenPythia::AliGenPythia(Int_t npart)
      fQuench(kFALSE),
      fQhat(0.),
      fLength(0.),
+     fImpact(0.),
      fPtKick(1.),
      fFullEvent(kTRUE),
      fDecayer(new AliDecayerPythia()),
@@ -535,11 +537,7 @@ void AliGenPythia::Init()
        fPythia->SetPARJ(199, fLength);
        fPythia->SetMSTJ(42, 2);  // angular ordering
        fPythia->SetMSTJ(44, 2);  // option to run alpha_s
-       //fPythia->SetMSTJ(47, 0);  // No correction back to hard scattering element
-       //fPythia->SetMSTJ(50, 0);  // No coherence in first branching
        fPythia->SetPARJ(82, 1.); // Cut off for parton showers
-       //    MSTJ(41) must NOT be 11 or 12, as then FSR may go through PYPTFS
-       //   (kt-ordered cascade) in which medium effects have not been introduced.
     }
 }
 
@@ -581,7 +579,8 @@ void AliGenPythia::Generate()
            Double_t bimp;
            // Quenching comes through medium-modified splitting functions.
            AliFastGlauber::Instance()->GetRandomBHard(bimp);
-           fPythia->SetPARJ(197,bimp);
+           fPythia->SetPARJ(197, bimp);
+           fImpact = bimp;
        } 
 //
 // Either produce new event or read partons from file
@@ -1281,7 +1280,7 @@ void AliGenPythia::MakeHeader()
            AliFastGlauber::Instance()->GetSavedI0I1(i0i1);
            xp = xy[0];
            yp = xy[1];
-           ((AliGenPythiaEventHeader*) fHeader)->SetInMediumLength(2. * i0i1[1] / i0i1[0]);
+           ((AliGenPythiaEventHeader*) fHeader)->SetImpactParameter(fImpact);
        }
        
            ((AliGenPythiaEventHeader*) fHeader)->SetXYJet(xp, yp);
index 6096f56..ba751f8 100644 (file)
@@ -223,6 +223,7 @@ class AliGenPythia : public AliGenMC
     Int_t       fQuench;            //Flag for quenching
     Float_t     fQhat;              //Transport coefficient (GeV^2/fm)
     Float_t     fLength;            //Medium length (fm)
+    Float_t     fImpact;            //Impact parameter for quenching simulation (q-pythia) 
     Float_t     fPtKick;            //Transverse momentum kick
     Bool_t      fFullEvent;         //!Write Full event if true
     AliDecayer  *fDecayer;          //!Pointer to the decayer instance
index acc211e..e5be04a 100644 (file)
@@ -27,6 +27,7 @@ AliGenPythiaEventHeader::AliGenPythiaEventHeader():
     fXJet(-1.),
     fYJet(-1.),
     fInMediumLength(0.),
+    fImpactParameter(-1),
     fPtHard(0.) 
 {
 // Default Constructor
@@ -47,6 +48,7 @@ AliGenPythiaEventHeader::AliGenPythiaEventHeader(const char* name):
     fXJet(-1.),
     fYJet(-1.),
     fInMediumLength(0.),
+    fImpactParameter(-1),
     fPtHard(0.) 
 {
 // Constructor
index b47ea77..250c317 100644 (file)
@@ -29,9 +29,11 @@ class AliGenPythiaEventHeader : public AliGenEventHeader
     void     UQJet(Int_t i, Float_t p[4]);
     Double_t GetXJet() {return fXJet;}
     Double_t GetYJet() {return fYJet;}
-    Double_t GetInMediumLength() {return fInMediumLength;}
+    Double_t GetInMediumLength()  {return fInMediumLength;}
+    Double_t GetImpactParameter() {return fImpactParameter;}
     void     SetXYJet(Double_t x, Double_t y);
-    void     SetInMediumLength(Double_t l) {fInMediumLength = l;}
+    void     SetImpactParameter(Double_t b) {fImpactParameter = b;}
+    void     SetInMe(Double_t l) {fInMediumLength = l;}
     void     SetZQuench(Double_t z[4]);
     void     GetZQuench(Double_t z[4]);
     void     SetPtHard(Float_t pthard) {fPtHard = pthard;}
@@ -46,11 +48,12 @@ protected:
     Double_t fXJet;                      // Jet production point (x)
     Double_t fYJet;                      // Jet production point (y)
     Double_t fInMediumLength;            // In medium length
+    Double_t fImpactParameter;           // Impact parameter for Q-Pythia
     Float_t  fJets[4][10];               // Trigger jets
     Float_t  fUQJets[4][10];             // Unquenched trigger jets
     Double_t fZquench[4];                // Quenching fraction
     Float_t  fPtHard;                    // pT hard
-    ClassDef(AliGenPythiaEventHeader,5)  // Event header for Pythia event
+    ClassDef(AliGenPythiaEventHeader,6)  // Event header for Pythia event
 };