Esempio n. 1
0
AliGenPythia *PythiaHard(PDC07Proc_t proc) {
//*******************************************************************//
// Configuration file for hard QCD processes generation with PYTHIA  //
//                                                                   //
//*******************************************************************//
  AliGenPythia * gener = 0x0;

  switch(proc) {

  case kPyJetJet:
    comment = comment.Append(" pp->jet + jet over at 14 TeV, no restriction");
    AliGenPythia * gener = new AliGenPythia(nEvts);
    gener->SetEnergyCMS(eCMS);//        Centre of mass energy
    gener->SetProcess(kPyJets);//        Process type
    gener->SetJetEtaRange(-1.5, 1.5);//  Final state kinematic cuts
    gener->SetJetPhiRange(0., 360.);
    gener->SetJetEtRange(10., 1000.);
    gener->SetPtHard(ptHardMin, ptHardMax);// Pt transfer of the hard scattering
    gener->SetStrucFunc(kCTEQ4L);

    return gener;

  case kPyGammaJetPHOS:
      comment = comment.Append(" pp->jet + gamma over PHOS");
      gener = new AliGenPythia(nEvts);
      gener->SetEnergyCMS(eCMS);
      gener->SetProcess(kPyDirectGamma);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(ptHardMin,ptHardMax);
      //gener->SetYHard(-1.0,1.0);
      gener->SetGammaEtaRange(-0.13,0.13);
      gener->SetGammaPhiRange(218.,322.);//Over 5 modules +-2 deg
      break;
  case kPyJetJetPHOS:
      comment = comment.Append(" pp->jet + jet over PHOS");
      gener = new AliGenPythia(nEvts);
      gener->SetEnergyCMS(eCMS);
      gener->SetProcess(kPyJets);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(ptHardMin,ptHardMax);
      //gener->SetYHard(-1.0,1.0);
      gener->SetJetEtaRange(-1.,1.);
      gener->SetJetPhiRange(200.,340.);
      gener->SetPi0InPHOS(kTRUE);
      gener->SetFragPhotonOrPi0MinPt(ptGammaPi0Min);

      printf("\n \n Event generator: Minimum pT of particle in calorimeter %f \n \n", ptGammaPi0Min);
      break;
  case kPyGammaBremsPHOS:
      comment = comment.Append(" pp->jet + jet+bremsphoton over PHOS at 14 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetEnergyCMS(eCMS);
      gener->SetProcess(kPyJets);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(ptHardMin,ptHardMax);
      //gener->SetYHard(-1.0,1.0);
      gener->SetJetEtaRange(-1.,1.);
      gener->SetJetPhiRange(200.,340.);
      gener->SetFragPhotonInPHOS(kTRUE);
      gener->SetFragPhotonOrPi0MinPt(ptGammaPi0Min);
	  printf("\n \n Event generator: Minimum pT of particle in calorimeter %f \n \n", ptGammaPi0Min);
	  break;
	case kPyJetJetPHOSv2:
	comment = comment.Append(" pp->jet + jet over PHOS version2 ");
	gener = new AliGenPythia(nEvts);
	gener->SetEnergyCMS(eCMS);
	gener->SetProcess(kPyJets);
	gener->SetStrucFunc(kCTEQ4L);
	gener->SetPtHard(ptHardMin,ptHardMax);
	//gener->SetYHard(-1.0,1.0);
	gener->SetJetEtaRange(-1.,1.);
	gener->SetJetPhiRange(200.,340.);
	//gener->SetPi0InPHOS(kTRUE);
	gener->SetPhotonInPHOSeta(kTRUE);
	gener->SetPhotonMinPt(ptGammaPi0Min);
	gener->SetForceDecay(kAll);
	break;
  case kPyGammaJetEMCAL:
    comment = comment.Append(" pp->jet + gamma over EMCAL at 14 TeV");
    gener = new AliGenPythia(nEvts);
    gener->SetEnergyCMS(eCMS);
    gener->SetProcess(kPyDirectGamma);
    gener->SetStrucFunc(kCTEQ4L);
    gener->SetPtHard(ptHardMin,ptHardMax);
    //gener->SetYHard(-1.0,1.0);
    gener->SetGammaEtaRange(-0.71,0.71);
    gener->SetGammaPhiRange(78.,192.);//Over 6 supermodules +-2 deg
    break;
  case kPyJetJetEMCAL:
    comment = comment.Append(" pp->jet + jet over EMCAL at 14 TeV");
    gener = new AliGenPythia(nEvts);
    gener->SetEnergyCMS(eCMS);
    gener->SetProcess(kPyJets);
    gener->SetStrucFunc(kCTEQ4L);
    gener->SetPtHard(ptHardMin,ptHardMax);
    //gener->SetYHard(-1.0,1.0);
    gener->SetJetEtaRange(-1,1);
    gener->SetJetPhiRange(60.,210.);
    gener->SetPi0InEMCAL(kTRUE);
    gener->SetFragPhotonOrPi0MinPt(ptGammaPi0Min);
    printf("\n \n Event generator: Minimum pT of particle in calorimeter %f \n \n", ptGammaPi0Min);
    break;
  case kPyGammaBremsEMCAL:
      comment = comment.Append(" pp->jet + jet+bremsphoton over EMCAL at 14 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetEnergyCMS(eCMS);
      gener->SetProcess(kPyJets);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(ptHardMin,ptHardMax);
      //gener->SetYHard(-1.0,1.0);
      gener->SetJetEtaRange(-1,1);
      gener->SetJetPhiRange(60.,210.); //Over 2 uncovered PHOS modules
      gener->SetFragPhotonInEMCAL(kTRUE);
      gener->SetFragPhotonOrPi0MinPt(ptGammaPi0Min);

      printf("\n \n Event generator: Minimum pT of particle in calorimeter %f \n \n", ptGammaPi0Min);
      break;

  }

  return gener;
}
Esempio n. 2
0
AliGenPythia *PythiaHVQ(PDC07Proc_t proc) {
//*******************************************************************//
// Configuration file for charm / beauty generation with PYTHIA      //
//                                                                   //
// The parameters have been tuned in order to reproduce the inclusive//
// heavy quark pt distribution given by the NLO pQCD calculation by  //
// Mangano, Nason and Ridolfi.                                       //
//                                                                   //
// For details and for the NORMALIZATION of the yields see:          //
//   N.Carrer and A.Dainese,                                         //
//   "Charm and beauty production at the LHC",                       //
//   ALICE-INT-2003-019, [arXiv:hep-ph/0311225];                     //
//   PPR Chapter 6.6, CERN/LHCC 2005-030 (2005).                     //
//*******************************************************************//
  AliGenPythia * gener = 0x0;

  switch(proc) {
  case kCharmPbPb5500:
      comment = comment.Append(" Charm in Pb-Pb at 5.5 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyCharmPbPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(5500.);
      gener->SetNuclei(208,208);
      break;
  case kCharmpPb8800:
      comment = comment.Append(" Charm in p-Pb at 8.8 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyCharmpPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(8800.);
      gener->SetProjectile("P",1,1);
      gener->SetTarget("Pb",208,82);
      break;
  case kCharmpp14000:
      comment = comment.Append(" Charm in pp at 14 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyCharmppMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(14000.);
      break;
  case kCharmpp14000wmi:
      comment = comment.Append(" Charm in pp at 14 TeV with mult. interactions");
      gener = new AliGenPythia(-1);
      gener->SetProcess(kPyCharmppMNRwmi);
      gener->SetStrucFunc(kCTEQ5L);
      gener->SetPtHard(ptHardMin,ptHardMax);
      gener->SetEnergyCMS(14000.);
      break;
  case kD0PbPb5500:
      comment = comment.Append(" D0 in Pb-Pb at 5.5 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyD0PbPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(5500.);
      gener->SetNuclei(208,208);
      break;
  case kD0pPb8800:
      comment = comment.Append(" D0 in p-Pb at 8.8 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyD0pPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(8800.);
      gener->SetProjectile("P",1,1);
      gener->SetTarget("Pb",208,82);
      break;
  case kD0pp14000:
      comment = comment.Append(" D0 in pp at 14 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyD0ppMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(14000.);
      break;
  case kDPlusPbPb5500:
      comment = comment.Append(" DPlus in Pb-Pb at 5.5 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyDPlusPbPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(5500.);
      gener->SetNuclei(208,208);
      break;
  case kDPluspPb8800:
      comment = comment.Append(" DPlus in p-Pb at 8.8 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyDPluspPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(8800.);
      gener->SetProjectile("P",1,1);
      gener->SetTarget("Pb",208,82);
      break;
  case kDPluspp14000:
      comment = comment.Append(" DPlus in pp at 14 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyDPlusppMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.1,-1.0);
      gener->SetEnergyCMS(14000.);
      break;
  case kBeautyPbPb5500:
      comment = comment.Append(" Beauty in Pb-Pb at 5.5 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyBeautyPbPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.75,-1.0);
      gener->SetEnergyCMS(5500.);
      gener->SetNuclei(208,208);
      break;
  case kBeautypPb8800:
      comment = comment.Append(" Beauty in p-Pb at 8.8 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyBeautypPbMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.75,-1.0);
      gener->SetEnergyCMS(8800.);
      gener->SetProjectile("P",1,1);
      gener->SetTarget("Pb",208,82);
      break;
  case kBeautypp14000:
      comment = comment.Append(" Beauty in pp at 14 TeV");
      gener = new AliGenPythia(nEvts);
      gener->SetProcess(kPyBeautyppMNR);
      gener->SetStrucFunc(kCTEQ4L);
      gener->SetPtHard(2.75,-1.0);
      gener->SetEnergyCMS(14000.);
      break;
  case kBeautypp14000wmi:
      comment = comment.Append(" Beauty in pp at 14 TeV with mult. interactions");
      gener = new AliGenPythia(-1);
      gener->SetProcess(kPyBeautyppMNRwmi);
      gener->SetStrucFunc(kCTEQ5L);
      gener->SetPtHard(ptHardMin,ptHardMax);
      gener->SetEnergyCMS(14000.);
      break;
  }

  return gener;
}