本文整理汇总了C++中AliGenCocktail类的典型用法代码示例。如果您正苦于以下问题:C++ AliGenCocktail类的具体用法?C++ AliGenCocktail怎么用?C++ AliGenCocktail使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AliGenCocktail类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MbCocktail
AliGenerator* MbCocktail()
{
comment = comment.Append(" pp at 14 TeV: Pythia low-pt, no heavy quarks + J/Psi from parameterisation");
AliGenCocktail * gener = new AliGenCocktail();
gener->UsePerEventRates();
// Pythia
AliGenPythia* pythia = new AliGenPythia(-1);
pythia->SetMomentumRange(0, 999999.);
pythia->SetThetaRange(0., 180.);
pythia->SetYRange(-12.,12.);
pythia->SetPtRange(0,1000.);
pythia->SetProcess(kPyMb);
pythia->SetEnergyCMS(14000.);
pythia->SwitchHFOff();
// J/Psi parameterisation
AliGenParam* jpsi = new AliGenParam(1, AliGenMUONlib::kJpsi, "CDF scaled", "Jpsi");
jpsi->SetPtRange(0.,100.);
jpsi->SetYRange(-8., 8.);
jpsi->SetPhiRange(0., 360.);
jpsi->SetForceDecay(kAll);
gener->AddGenerator(pythia, "Pythia", 1.);
gener->AddGenerator(jpsi, "J/Psi", 8.e-4);
return gener;
}
示例2: GeneratorCustom
AliGenerator* GeneratorCustom()
{
AliGenCocktail *ctl = GeneratorCocktail("Monash2013_RsnNcl002");
// pythia8
AliGenerator *py8 = GeneratorPythia8(kPythia8Tune_Monash2013);
ctl->AddGenerator(py8, "Pythia8 (Monash2013)", 1.);
// randomly injected particles
const int nParticles = 10;
particle_inj particleList[10] = { // {name,pdgcode,maxpt,maxy},
{1,"f2(1270)",225,15.,0.6},
{1,"Lambda(1520)",3124,15.,0.6},
{1,"Lambda_bar(1520)",-3124,15.,0.6},
{1,"f0(980)",9010221,15.,0.6},
{1,"Xi*0(1530)",3324,15.,0.6},
{1,"Xi*0_bar(1530)",-3324,15.,0.6},
{1,"Xi0(1820)",123324,15.,0.6},
{1,"Xi0_bar(1820)",-123324,15.,0.6},
{1,"Xi-(1820)",123314,15.,0.6},
{1,"Xi+(1820)",-123314,15.,0.6}
};
AliDecayerPythia *dec = new AliDecayerPythia;
AliPDG::AddParticlesToPdgDataBase();
ctl->UseSingleInjectionPerEvent();
for (int idx = 0; idx < nParticles; ++idx) {
AliGenerator *inj = GeneratorParam(particleList[idx].n, particleList[idx].pdg, 0., particleList[idx].maxpt,-particleList[idx].maxy, particleList[idx].maxy,dec);
ctl->AddGenerator(inj, (TString(particleList[idx].name) + " injector").Data(), 1.);
}
return ctl;
}
示例3: GeneratorCustom
/// \ingroup MC/CustomGenerators/DPG
/// \brief Performance generator (ATO-245)
AliGenerator * GeneratorCustom() {
AliGenCocktail *ctl = GeneratorCocktail("Hijing+Generator for performance (tracking,PID) studies");
AliGenerator *hij = GeneratorHijing();
AliGenerator *genJet = PerformanceGenerator();
ctl->AddGenerator(hij, "Hijing", 1.);
ctl->AddGenerator(genJet,"Generator for performance (tracking,PID) studies",1);
return ctl;
}
示例4: GeneratorCocktail
///
/// Main configuration method
///
AliGenerator *
GeneratorCustom
(TString opt = "kFullDetector")
{
// Init cocktail
AliGenCocktail *ctl = GeneratorCocktail(Form("Dpmjet_%s",processConfig.Data()));
//
// DPMjet
//
AliGenerator *dpm = GeneratorPhojet();
ctl->AddGenerator(dpm, "Dpmjet", 1.);
//
// PYTHIA
//
// acceptance
Int_t acceptance = kCalorimeterAcceptance_FullDetector;
if (opt.EqualTo("FullDetector"))
acceptance = kCalorimeterAcceptance_FullDetector;
if (opt.EqualTo("EMCRun1"))
acceptance = kCalorimeterAcceptance_EMCRun1;
if (opt.EqualTo("PHSRun1"))
acceptance = kCalorimeterAcceptance_PHSRun1;
if (opt.EqualTo("EMCRun2"))
acceptance = kCalorimeterAcceptance_EMCRun2;
if (opt.EqualTo("PHSRun2"))
acceptance = kCalorimeterAcceptance_PHSRun2;
if (opt.EqualTo("PHSDMC"))
acceptance = kCalorimeterAcceptance_PHSDMC;
// process
AliGenerator *gammajet = 0;
// PYTHIA6
if (processConfig.EqualTo("Pythia6Jets"))
gammajet = GeneratorPythia6Jets (kPythia6Tune_Perugia2011, acceptance);
if (processConfig.EqualTo("Pythia6GammaJet"))
gammajet = GeneratorPythia6GammaJet (kPythia6Tune_Perugia2011, acceptance);
if (processConfig.EqualTo("Pythia6JetsGammaTrg"))
gammajet = GeneratorPythia6JetsGammaTrg (kPythia6Tune_Perugia2011, acceptance);
// PYTHIA8
if (processConfig.EqualTo("Pythia8Jets"))
gammajet = GeneratorPythia8Jets (kPythia8Tune_Monash2013 , acceptance);
if (processConfig.EqualTo("Pythia8GammaJet"))
gammajet = GeneratorPythia8GammaJet (kPythia8Tune_Monash2013 , acceptance);
if (processConfig.EqualTo("Pythia8JetsGammaTrg"))
gammajet = GeneratorPythia8JetsGammaTrg (kPythia8Tune_Monash2013 , acceptance);
ctl->AddGenerator(gammajet, processConfig, 1.);
return ctl;
}
示例5: GeneratorCustom
AliGenerator *
GeneratorCustom()
{
AliGenCocktail *ctl = GeneratorCocktail("Perugia2011_Nuclex002");
AliGenerator *pyt = GeneratorPythia6(kPythia6Tune_Perugia2011);
ctl->AddGenerator(pyt, "Pythia6", 1.);
AliGenerator *nu1a = Generator_Nuclex(0x1F, kFALSE, 10);
AliGenerator *nu1b = Generator_Nuclex(0x1F, kTRUE, 10);
ctl->AddGenerator(nu1a, "Nuclex1a", 1.);
ctl->AddGenerator(nu1b, "Nuclex1b", 1.);
return ctl;
}
示例6: GeneratorCustom
AliGenerator *
GeneratorCustom()
{
AliGenCocktail* cocktail = GeneratorCocktail("Hijing_Starlight");
AliGenerator* starlight = GeneratorStarlight();
cocktail->AddGenerator(starlight, "Starlight", 1.);
AliGenerator* hijing = GeneratorHijing();
cocktail->AddGenerator(hijing, "Hijing", 1.);
return cocktail;
}
示例7: GeneratorCustom
// Requires AliRoot from v5-09-02
AliGenerator *
GeneratorCustom()
{
AliGenCocktail *ctl = GeneratorCocktail("Hijing_Nuclex005");
AliGenerator *hij = GeneratorHijing();
ctl->AddGenerator(hij, "Hijing", 1.);
AliGenerator *nu1a = Generator_Nuclex(0x70000, kFALSE, 10);
AliGenerator *nu1b = Generator_Nuclex(0x70000, kTRUE, 10);
ctl->AddGenerator(nu1a, "Nuclex1a", 1.);
ctl->AddGenerator(nu1b, "Nuclex1b", 1.);
return ctl;
}
示例8: GeneratorCustom
AliGenerator *
GeneratorCustom(TString opt = "")
{
AliGenCocktail *ctl = GeneratorCocktail("Hijing_HF");
AliGenerator *hij = GeneratorHijing();
ctl->AddGenerator(hij, "Hijing", 1.);
//
const Char_t *label[2][3] = {
"chadr PYTHIA", "chadr PYTHIA", "cele PYTHIA",
"bchadr PYTHIA", "bchadr PYTHIA", "bele PYTHIA"
};
//
Int_t process[2] = {kPythia6HeavyProcess_Charm, kPythia6HeavyProcess_Beauty};
Int_t iprocess = uidConfig % 2;
//
Int_t decay[3] = {kPythia6HeavyDecay_Hadrons, kPythia6HeavyDecay_HadronsWithV0, kPythia6HeavyDecay_Electron};
TString optList[3] = {"had", "hv0", "ele"};
Int_t idecay = 0;
for (Int_t iopt = 0; iopt < 3; iopt++)
if (opt.EqualTo(optList[iopt]))
idecay = iopt;
//
AliGenerator *phf = GeneratorPythia6Heavy(process[iprocess], decay[idecay], kPythia6Tune_Perugia2011);
//
TFormula *formula = new TFormula("Signals","max(1.,80.*(1.-x/20.)*(x<9)+240.*(1.-x/13.)*(x>9.))");
//
Float_t pth[4] = {2.76, 20., 50., 1000.};
Int_t ipt;
if ((uidConfig / 2) % 10 < 7) ipt = 0;
else if ((uidConfig / 2) % 10 < 9) ipt = 1;
else ipt = 2;
((AliGenPythia *)phf)->SetPtHard(pth[ipt], pth[ipt + 1]);
//
ctl->AddGenerator(phf, label[iprocess][idecay], 1., formula);
printf(">>>>> added HF generator %s \n", label[iprocess][idecay]);
// add pi0 and eta enhancement
if (decay[idecay] == kPythia6HeavyDecay_Electron) {
TFormula* neutralsF = new TFormula("neutrals", "20.+ 80. * exp(- 0.5 * x * x / 5.12 / 5.12)");
AliGenPHOSlib *plib = new AliGenPHOSlib();
AliGenParam *pi0 = new AliGenParam(1, plib, AliGenPHOSlib::kPi0Flat);
pi0->SetPhiRange(0., 360.) ;
pi0->SetYRange(-1.2, 1.2) ;
pi0->SetPtRange(0., 50.) ;
ctl->AddGenerator(pi0, "pi0", 1., neutralsF);
AliGenParam *eta = new AliGenParam(1, plib, AliGenPHOSlib::kEtaFlat);
eta->SetPhiRange(0., 360.) ;
eta->SetYRange(-1.2, 1.2) ;
eta->SetPtRange(0., 50.) ;
ctl->AddGenerator(eta, "eta", 1., neutralsF);
}
return ctl;
}
示例9: GeneratorCustom
AliGenerator *
GeneratorCustom()
{
AliGenCocktail *ctl = GeneratorCocktail("Monash2013_Nuclex001");
// pythia8
AliGenerator *py8 = GeneratorPythia8(kPythia8Tune_Monash2013);
ctl->AddGenerator(py8, "Pythia8 (Monash2013)", 1.);
//
AliGenerator *nu1a = Generator_Nuclex(0x7, kFALSE, 7,6.f,1.f);
AliGenerator *nu1b = Generator_Nuclex(0x7, kTRUE, 7,6.f,1.f);
ctl->AddGenerator(nu1a, "Nuclex1a", 1.);
ctl->AddGenerator(nu1b, "Nuclex1b", 1.);
return ctl;
}
示例10: JPsi7TeV
AliGenerator* JPsi7TeV()
/*{
AliGenParam *jpsi7TeV = new AliGenParam(1, AliGenMUONlib::kJpsi,"CDF pp 7");
jpsi7TeV->SetMomentumRange(0,999);
jpsi7TeV->SetPtRange(0,20.);
jpsi7TeV->SetYRange(-4.2,-2.3);
jpsi7TeV->SetPhiRange(0., 360.);
jpsi7TeV->SetCutOnChild(1);
jpsi7TeV->SetChildPhiRange(0.,360.);
jpsi7TeV->SetChildThetaRange(0.,180.);
jpsi7TeV->SetForceDecay(kDiMuon);
jpsi7TeV->SetTrackingFlag(1);
return jpsi7TeV;
}*/
{
comment = comment.Append(" pp at 7 TeV: Pythia low-pt, no heavy quarks + J/Psi from parameterisation");
AliGenCocktail * gener = new AliGenCocktail();
gener->UsePerEventRates();
// Pythia
AliGenPythia* pythia = new AliGenPythia(-1);
pythia->SetMomentumRange(0, 999999.);
pythia->SetThetaRange(0., 180.);
pythia->SetYRange(-12.,12.);
pythia->SetPtRange(0,1000.);
pythia->SetProcess(kPyMb);
pythia->SetEnergyCMS(energy);
pythia->SwitchHFOff();
// J/Psi parameterisation
// AliGenParam* jpsi = new AliGenParam(1, AliGenMUONlib::kJpsi, "CDF scaled", "Jpsi");
AliGenParam* jpsi = new AliGenParam(1, AliGenMUONlib::kJpsi,"CDF pp 7");
jpsi->SetPtRange(0.,100.);
// jpsi->SetYRange(-8., 8.);
jpsi->SetYRange(-1.5, 1.5); //this to speed up !!!
jpsi->SetPhiRange(0., 360.);
jpsi->SetForceDecay(kDiElectron); // this has to be changed to force J/psi->e+e-
//gener->AddGenerator(jpsi, "J/Psi", 8.e-4); // expected yield
gener->AddGenerator(jpsi, "J/Psi", 1.); // 1 J/psi per event
gener->AddGenerator(pythia, "Pythia", 1.);
return gener;
}
示例11: GeneratorCustom
AliGenerator *
GeneratorCustom(TString opt = "")
{
TString optList[6] = {"", "a", "b", "c", "d", "e"};
Int_t ninjlist[6] = {1, 10, 5, 3, 2, 1};
Int_t iinj = 0;
for (Int_t iopt = 0; iopt < 3; iopt++)
if (opt.EqualTo(optList[iopt]))
iinj = iopt;
Int_t ninj = ninjlist[iinj];
AliGenCocktail *ctl = GeneratorCocktail("Hijing_Jets001");
AliGenerator *hij = GeneratorHijing();
ctl->AddGenerator(hij, "Hijing", 1.);
AliGenerator *jet = GeneratorPythia8Jets();
ctl->AddGenerator(jet, "Jets", 1., new TFormula(Form("ninj_%d", ninj), Form("%d", ninj)));
return ctl;
}
示例12: Hijing2000HF
AliGenerator* Hijing2000HF(Int_t typeHF)
{
comment = comment.Append(" PbPb: Hjing2000 + pythia events for HF signals");
AliGenCocktail *cocktail = new AliGenCocktail();
cocktail->SetProjectile("A", 208, 82);
cocktail->SetTarget ("A", 208, 82);
AliGenerator* pythiaHF = 0x0;
// 20 Pythia events
Int_t nPythia=20;
for(Int_t i=0;i<nPythia; i++) {
switch(typeHF) {
case 0:
pythiaHF = MbPythiaTunePerugia0chadr();
break;
case 1:
pythiaHF = MbPythiaTunePerugia0bchadr();
break;
case 2:
pythiaHF = MbPythiaTunePerugia0cele();
break;
case 3:
pythiaHF = MbPythiaTunePerugia0bele();
break;
case 4:
pythiaHF = MbPythiaTunePerugia0Jpsi2e();
break;
case 5:
pythiaHF = MbPythiaTunePerugia0BtoJpsi2e();
break;
default:
pythiaHF = MbPythiaTunePerugia0chadr();
break;
}
cocktail->AddGenerator(pythiaHF,"pythiaHF",1);
}
// 1 Hijing event
AliGenHijing *hijing = Hijing2000();
cocktail->AddGenerator(hijing,"hijing",1);
return cocktail;
}
示例13: MbPythiaTunePerugia0Jpsi
AliGenerator* MbPythiaTunePerugia0Jpsi()
{
comment = comment.Append("pp Cocktail: Pythia (Perugia0) + 1 Jpsi forced to dielectrons");
//Generating a cocktail
AliGenCocktail *gener = new AliGenCocktail();
gener->UsePerEventRates();
//
// Pythia
AliGenPythia* pythia = new AliGenPythia(-1);
pythia->SetMomentumRange(0, 999999.);
pythia->SetThetaRange(0., 180.);
pythia->SetYRange(-12.,12.);
pythia->SetPtRange(0,1000.);
pythia->SetProcess(kPyMb);
pythia->SetEnergyCMS(energy);
// Tune
// 320 Perugia 0
pythia->SetTune(320);
pythia->UseNewMultipleInteractionsScenario();
//
// JPsi is the second ingredient of the cocktail
//AliGenParam* jpsi = new AliGenParam(1, AliGenMUONlib::kJpsi, "CDF scaled", "Jpsi"); // 14 TeV
AliGenParam* jpsi=0x0;
if(JpsiHarderPt) jpsi = new AliGenParam(1, AliGenMUONlib::kJpsi, "CDF pp 8.8", "Jpsi"); // 8.8 TeV
else jpsi = new AliGenParam(1, AliGenMUONlib::kJpsi, "CDF pp 7", "Jpsi"); // 7 TeV
//AliGenParam* jpsi = new AliGenParam(1, AliGenMUONlib::kJpsi, "CDF pp 7", "Jpsi"); // 7 TeV
//AliGenParam* jpsi = new AliGenParam(1, AliGenMUONlib::kJpsi, "CDF pp 8.8", "Jpsi"); // 8.8 TeV
jpsi->SetPtRange(0.,999.);
jpsi->SetYRange(-1.0, 1.0);
jpsi->SetPhiRange(0.,360.);
//jpsi->SetChildYRange(-0.9,0.9); // decaying electrons should be in TRD acceptance
jpsi->SetForceDecay(kDiElectron);
jpsi->Init();
gener->AddGenerator(pythia, "Pythia", 1.); // 1 is weighting factor : Rate per event
gener->AddGenerator(jpsi,"JPsi",1);
// gener->Init();
return gener;
}
示例14: GeneratorCocktail
AliGenerator *GeneratorCustom(){
int ninjxi = 3;
int ninjom = 3;
Int_t sign = uidConfig % 2 == 0 ? 1 : -1;
AliGenCocktail *ctl = GeneratorCocktail("EPOS_StrInj_pPb8");
AliGenerator *epos = GeneratorEPOSLHC();
AliGenerator *ixi = GeneratorInjector(ninjxi, sign * 3312, 2., 20., -1.2, 1.2);
AliGenerator *iom = GeneratorInjector(ninjom, (-1) * sign * 3334, 0., 10., -1.2, 1.2);
ctl->AddGenerator(epos, "Epos", 1.);
ctl->AddGenerator(ixi, "Injector (Xi)", 1.);
ctl->AddGenerator(iom, "Injector (Omega)", 1.);
return ctl;
}
示例15: GeneratorCustom
AliGenerator *
GeneratorCustom()
{
AliGenCocktail *ctl = GeneratorCocktail("Perugia2011_Nuclex001");
AliGenerator *pyt = GeneratorPythia6(kPythia6Tune_Perugia2011);
ctl->AddGenerator(pyt, "Pythia6", 1.);
AliGenerator *nu1a = Generator_Nuclex(0xF, kFALSE, 10);
AliGenerator *nu1b = Generator_Nuclex(0xF, kTRUE, 10);
AliGenerator *nu2a = Generator_Nuclex(0x10, kFALSE, 40);
AliGenerator *nu2b = Generator_Nuclex(0x10, kTRUE, 40);
AliGenerator *nu3a = Generator_Nuclex(0xFE0, kFALSE, 20);
AliGenerator *nu3b = Generator_Nuclex(0xFE0, kTRUE, 20);
ctl->AddGenerator(nu1a, "Nuclex1a", 1.);
ctl->AddGenerator(nu1b, "Nuclex1b", 1.);
ctl->AddGenerator(nu2a, "Nuclex2a", 1.);
ctl->AddGenerator(nu2b, "Nuclex2b", 1.);
ctl->AddGenerator(nu3a, "Nuclex3a", 1.);
ctl->AddGenerator(nu3b, "Nuclex3b", 1.);
return ctl;
}