Option to switch fragmentation off
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 Sep 2012 08:37:13 +0000 (08:37 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 Sep 2012 08:37:13 +0000 (08:37 +0000)
Chiara

TDPMjet/AliGenDPMjet.cxx
TDPMjet/AliGenDPMjet.h
TDPMjet/TDPMjet.cxx
TDPMjet/TDPMjet.h

index 7e3900e..7e8c954 100644 (file)
@@ -65,7 +65,8 @@ AliGenDPMjet::AliGenDPMjet()
      fTriggerMultiplicityEta(0),
      fTriggerMultiplicityPtMin(0),
      fkTuneForDiff(0),
-     fProcDiff(0)
+     fProcDiff(0),
+     fFragmentation(kFALSE)
 {
 // Constructor
     fEnergyCMS = 5500.;
@@ -97,7 +98,9 @@ AliGenDPMjet::AliGenDPMjet(Int_t npart)
      fTriggerMultiplicityEta(0),
      fTriggerMultiplicityPtMin(0),
      fkTuneForDiff(0),
-     fProcDiff(0)
+     fProcDiff(0),
+     fFragmentation(kFALSE)
+
 {
 // Default PbPb collisions at 5. 5 TeV
 //
@@ -133,7 +136,9 @@ AliGenDPMjet::AliGenDPMjet(const AliGenDPMjet &/*Dpmjet*/)
      fTriggerMultiplicityEta(0),
      fTriggerMultiplicityPtMin(0),
      fkTuneForDiff(0),
-     fProcDiff(0)
+     fProcDiff(0),
+     fFragmentation(kFALSE)
+
 {
     // Dummy copy constructor
     fEnergyCMS = 5500.;
@@ -166,6 +171,7 @@ void AliGenDPMjet::Init()
     fDPMjet->SetbRange(fMinImpactParam, fMaxImpactParam); 
     fDPMjet->SetPi0Decay(fPi0Decay);
     fDPMjet->SetDecayAll(fDecayAll);
+    fDPMjet->SetFragmentProd(fFragmentation);
 
     AliGenMC::Init();
     
index 845791d..380eec2 100644 (file)
@@ -35,6 +35,7 @@ class AliGenDPMjet : public AliGenMC
     virtual void    Init();
     virtual void    FinishRun();
     virtual void    SetEnergyCMS(Float_t energy = 14000.) {fEnergyCMS = energy; fBeamEn = energy / 2.;}
+    virtual void    SetpBeamEnergy(Float_t benergy = 14000.) {fBeamEn = benergy;}
     virtual void    SetImpactParameterRange(Float_t bmin=0., Float_t bmax=1.)
                        {fMinImpactParam=bmin; fMaxImpactParam=bmax;}
     virtual void    SetProcess(DpmProcess_t iproc) {fProcess = iproc;}
@@ -62,6 +63,8 @@ class AliGenDPMjet : public AliGenMC
 
    void SetTuneForDiff(Bool_t a=kTRUE) {fkTuneForDiff=a;}
 
+   virtual void  SetFragmentProd(Bool_t val) {fFragmentation = val;}
+
  protected:
     Bool_t SelectFlavor(Int_t pid);
     void   MakeHeader();
@@ -91,6 +94,8 @@ class AliGenDPMjet : public AliGenMC
 
     Bool_t fkTuneForDiff;    // Phojet tune 
     Int_t  fProcDiff;
+    
+    Bool_t fFragmentation; // Allows evaporation and fragments production
 
  private:
     // adjust the weight from kinematic cuts
@@ -104,7 +109,7 @@ class AliGenDPMjet : public AliGenMC
    Bool_t GetWeightsDiffraction(Double_t M, Double_t &Mmin, Double_t &Mmax, 
                                               Double_t &wSD, Double_t &wDD, Double_t &wND);
 
-    ClassDef(AliGenDPMjet,4) // AliGenerator interface to DPMJET
+    ClassDef(AliGenDPMjet,5) // AliGenerator interface to DPMJET
 };
 #endif
 
index 36ba468..ab1e95b 100644 (file)
@@ -116,7 +116,8 @@ ClassImp(TDPMjet)
        fFCentr(0),
        fPi0Decay(0),
        fDecayAll(0),
-       fProcess(kDpmMb)
+       fProcess(kDpmMb),
+       fFragmentation(kFALSE)
 {
 // Default Constructor
 }
@@ -139,7 +140,8 @@ TDPMjet::TDPMjet(DpmProcess_t  iproc, Int_t Ip=208, Int_t Ipz=82, Int_t It=208,
       fFCentr(0),
       fPi0Decay(0),
       fDecayAll(0),
-      fProcess(iproc)
+      fProcess(iproc),
+      fFragmentation(-1)
 {  
     printf("TDPMJet Constructor %d %d %d %d \n", Ip, Ipz, It, Itz);
 }
@@ -291,7 +293,7 @@ void TDPMjet::Initialize()
     }
     else if(fIp > 1 || fIt > 1){ 
       if(fIp>1 && fIt>1) fprintf(out, "BEAM      %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n",fEpn, fEpn, 0., 0., 0., 0.);//A-A
-      else if(fIp==1 && fIt>1){ // proton towwards A side (directed z>0)
+      else if(fIp==1 && fIt>1){ // proton towards A side (directed z>0)
         fprintf(out, "BEAM      %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n", fEpn,fEpn*fItz/fIt, 0., 0., 0., 0.);//pA
        printf("\n  TDPMjet::Initialize() -> p-A: p beam energy =  %10.1f, CMS energy = %10.1f\n\n",fEpn,fCMEn/2);
       }
@@ -301,8 +303,10 @@ void TDPMjet::Initialize()
       }
     }
 //  Centrality
-    if(fIp > 1 || fIt > 1)
+    if((fIp > 1 || fIt > 1) && fFragmentation)
        fprintf(out, "CENTRAL   %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n",-2., fBmin, fBmax, 0., 0., 0.);
+    else if((fIp > 1 || fIt > 1) && !fFragmentation)
+       fprintf(out, "CENTRAL   %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n",-1., fBmin, fBmax, 0., 0., 0.);
 //  Particle decays
     if (fPi0Decay) 
        fprintf(out, "PARDECAY  %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n", 2., 0., 0., 0., 0., 0.);    
index 9a39566..c0199eb 100644 (file)
@@ -73,6 +73,8 @@ public:
    virtual void  SetPi0Decay(Int_t iPi0)    {fPi0Decay = iPi0;}
    virtual void  SetDecayAll(Int_t iDecAll) {fDecayAll = iDecAll;}
    
+   virtual void  SetFragmentProd(Bool_t val) {fFragmentation = val;}
+   
    // Access to DPMJET common blocks:
    virtual Int_t    GetEvNum() const;            
    virtual Int_t    GetEntriesNum() const;               
@@ -142,8 +144,10 @@ protected:
    Int_t        fPi0Decay;// Flag for pi0 decays
    Int_t        fDecayAll;// Flag to decay also long-lived particles
    DpmProcess_t fProcess; // Process type
+   //
+   Bool_t       fFragmentation; // Allows evaporation and fragments production
    
-   ClassDef(TDPMjet,2)  //Interface to DPMJET Event Generator
+   ClassDef(TDPMjet,3)  //Interface to DPMJET Event Generator
 };
 
 #endif