]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/AliGenPythiaPlus.cxx
fix postdata warnings
[u/mrichter/AliRoot.git] / PYTHIA6 / AliGenPythiaPlus.cxx
index 4a19b5fc1627a53e29b0e2f735334ba5b33be3bf..799cd0ff5524ba4a885a1e66724b0d17208c0913 100644 (file)
@@ -124,8 +124,9 @@ AliGenPythiaPlus::AliGenPythiaPlus():
     fPHOSEta(0.13),
     fEMCALMinPhi(79.),
     fEMCALMaxPhi(191.),
-    fEMCALEta(0.71)
-
+    fEMCALEta(0.71),
+    fItune(-1), 
+    fInfo(1) 
 {
 // Default Constructor
   fEnergyCMS = 5500.;
@@ -211,7 +212,9 @@ AliGenPythiaPlus::AliGenPythiaPlus(AliPythiaBase* pythia)
      fPHOSEta(0.13),
      fEMCALMinPhi(79.),
      fEMCALMaxPhi(191.),
-     fEMCALEta(0.71)
+     fEMCALEta(0.71),
+     fItune(-1),
+     fInfo(1) 
 {
 // default charm production at 5. 5 TeV
 // semimuonic decay
@@ -345,7 +348,7 @@ void AliGenPythiaPlus::Init()
        fRL = 0x0;
     }
  //
-    fPythia->ProcInit(fProcess, fEnergyCMS, fStrucFunc);
+    fPythia->ProcInit(fProcess, fEnergyCMS, fStrucFunc, fItune);
     //  Forward Paramters to the AliPythia object
     fDecayer->SetForceDecay(fForceDecay);    
 // Switch off Heavy Flavors on request  
@@ -371,6 +374,7 @@ void AliGenPythiaPlus::Init()
     case kPyCharmpPbMNR:
     case kPyCharmppMNR:
     case kPyCharmppMNRwmi:
+    case kPyCharmPWHG:
        fParentSelect[0] =   411;
        fParentSelect[1] =   421;
        fParentSelect[2] =   431;
@@ -408,6 +412,7 @@ void AliGenPythiaPlus::Init()
     case kPyBeautypPbMNR:
     case kPyBeautyppMNR:
     case kPyBeautyppMNRwmi:
+    case kPyBeautyPWHG:
        fParentSelect[0]=  511;
        fParentSelect[1]=  521;
        fParentSelect[2]=  531;
@@ -438,11 +443,16 @@ void AliGenPythiaPlus::Init()
     case kPyMbNonDiffr:
     case kPyMbMSEL1:
     case kPyJets:
+    case kPyJetsPWHG:
     case kPyDirectGamma:
     case kPyLhwgMb:    
        break;
+    case kPyWPWHG: ///// !!!!!!!!!!!!!!!!!!!1 Change for W with POWEG !!!!!!!!!!!!!!!!!1 :)
     case kPyW:
     case kPyZ:
+    case kPyMBRSingleDiffraction:
+    case kPyMBRDoubleDiffraction:
+    case kPyMBRCentralDiffraction:
         break;
     }
 //
@@ -598,7 +608,11 @@ void AliGenPythiaPlus::Generate()
            fProcess != kPyW && 
            fProcess != kPyZ &&
            fProcess != kPyCharmppMNRwmi && 
-           fProcess != kPyBeautyppMNRwmi) {
+           fProcess != kPyBeautyppMNRwmi &&
+      fProcess != kPyWPWHG &&   /// !!!!!!!!!!!!!!!!!!! Change for W with POWHEG !!!!!!!!!!!!!!!!1 :)
+           fProcess != kPyJetsPWHG &&
+           fProcess != kPyCharmPWHG &&
+     fProcess != kPyBeautyPWHG) {
            
            for (i = 0; i < np; i++) {
                TParticle* iparticle = (TParticle *) fParticles.At(i);
@@ -789,7 +803,7 @@ void AliGenPythiaPlus::Generate()
          }
            if (jev >= fNpart || fNpart == -1) {
                fKineBias=Float_t(fNpart)/Float_t(fTrials);
-               fPythia->GetXandQ(fQ, fX1, fX2);
+               if (fInfo) fPythia->GetXandQ(fX1, fX2, fQ);
                fTrialsRun += fTrials;
                fNev++;
                MakeHeader();
@@ -821,7 +835,7 @@ Int_t  AliGenPythiaPlus::GenerateMB()
     
     Int_t* pParent = new Int_t[np];
     for (i=0; i< np; i++) pParent[i] = -1;
-    if (fProcess == kPyJets || fProcess == kPyDirectGamma) {
+    if (fProcess == kPyJets || fProcess == kPyDirectGamma || fProcess == kPyJetsPWHG || fProcess == kPyCharmPWHG || fProcess == kPyBeautyPWHG ) {
        TParticle* jet1 = (TParticle *) fParticles.At(6);
        TParticle* jet2 = (TParticle *) fParticles.At(7);
        if (!CheckTrigger(jet1, jet2)) {
@@ -831,7 +845,7 @@ Int_t  AliGenPythiaPlus::GenerateMB()
     }
 
     // Select jets with fragmentation photon or pi0 going to PHOS or EMCAL
-    if (fProcess == kPyJets && (fFragPhotonInCalo || fPi0InCalo) ) {
+    if ((fProcess == kPyJets || fProcess == kPyJetsPWHG) && (fFragPhotonInCalo || fPi0InCalo) ) {
 
       Bool_t ok = kFALSE;
 
@@ -864,7 +878,7 @@ Int_t  AliGenPythiaPlus::GenerateMB()
     
     
      // Select events with a photon  pt > min pt going to PHOS eta acceptance or exactly PHOS eta phi
-    if ((fProcess == kPyJets || fProcess == kPyDirectGamma) && fPhotonInCalo && (fCheckPHOSeta || fCheckPHOS)){
+    if ((fProcess == kPyJets || fProcess == kPyJetsPWHG || fProcess == kPyDirectGamma) && fPhotonInCalo && (fCheckPHOSeta || fCheckPHOS)){
 
       Bool_t okd = kFALSE;
 
@@ -962,7 +976,9 @@ Int_t  AliGenPythiaPlus::GenerateMB()
     }
 
     //Introducing child cuts in case kPyW, kPyZ, kPyMb, and kPyMbNonDiff
-    if ( (fProcess == kPyW ||
+    if ( (
+    fProcess == kPyWPWHG ||   // !!!!!!!!!!!!! Change for W with POWEG !!!!!!!!!!!!!!!1 :)
+    fProcess == kPyW ||
          fProcess == kPyZ ||
          fProcess == kPyMbDefault ||
          fProcess == kPyMb ||
@@ -984,7 +1000,7 @@ Int_t  AliGenPythiaPlus::GenerateMB()
        Int_t km = iparticle->GetFirstMother();
        if ((ks == 1  && kf!=0 && KinematicSelection(iparticle, 0)) ||
            (ks != 1) ||
-           (fProcess == kPyJets && ks == 21 && km == 0 && i>1)) {
+           ((fProcess == kPyJets || fProcess == kPyJetsPWHG) && ks == 21 && km == 0 && i>1)) {
            nc++;
            if (ks == 1) trackIt = 1;
 
@@ -1110,7 +1126,7 @@ void AliGenPythiaPlus::MakeHeader()
 //
 // Jets that have triggered
 
-    if (fProcess == kPyJets)
+    if (fProcess == kPyJets || fProcess == kPyJetsPWHG)
     {
        Int_t ntrig, njet;
        Float_t jets[4][10];
@@ -1187,7 +1203,7 @@ Bool_t AliGenPythiaPlus::CheckTrigger(const TParticle* jet1, const TParticle* je
     pdg[1] = jet2->GetPdgCode();    
     Bool_t   triggered = kFALSE;
 
-    if (fProcess == kPyJets) {
+    if (fProcess == kPyJets || fProcess == kPyJetsPWHG) {
        Int_t njets = 0;
        Int_t ntrig = 0;
        Float_t jets[4][10];