AliGenerator* CreateGenerator(Tune_t tune, Float_t energy) { if (tune == -1) { // phojet AliGenDPMjet* gener = new AliGenDPMjet(1); gener->SetProcess(kDpmMb); gener->SetProjectile("P", 1, 1); gener->SetTarget("P", 1, 1); gener->SetEnergyCMS(energy); return gener; } if (tune != kPyTuneAtlasCSC && tune != kPyTuneCDFA && tune != kPyTuneCMS6D6T && tune != kPyTunePerugia0) { Printf("Unknown pythia tune, quitting"); exit(1); } else { AliGenPythia * gener = new AliGenPythia(1); // // set pythia tune gener->SetTune(tune); // structure function if(tune == kPyTuneAtlasCSC) { cout << "Setting structure function" << endl; gener->SetStrucFunc(kCTEQ61); } if(tune == kPyTuneCMS6D6T) { cout << "Setting structure function" << endl; gener->SetStrucFunc(kCTEQ6l); } if(tune == kPyTunePerugia0) { cout << "Setting new parton shower" << endl; gener->UseNewMultipleInteractionsScenario(); } // charm, beauty, charm_unforced, beauty_unforced, jpsi, jpsi_chi, mb gener->SetProcess(kPyMb); // Centre of mass energy gener->SetEnergyCMS(energy); // Set target/projectile // Is this needded? gener->SetProjectile("P", 1, 1); gener->SetTarget("P", 1, 1); return gener; } }
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; }