本文整理汇总了C++中AliGenPythia类的典型用法代码示例。如果您正苦于以下问题:C++ AliGenPythia类的具体用法?C++ AliGenPythia怎么用?C++ AliGenPythia使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AliGenPythia类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GeneratorCustom
AliGenerator *
GeneratorCustom()
{
comment = comment.Append(" pp: Pythia 6 (Perugia2011 tune) high mult");
AliGenPythia* pythia = (AliGenPythia*)GeneratorPythia6(kPythia6Tune_Perugia2011);
// multiplicity threshold set to 60 in |eta| < 1.4
pythia->SetTriggerChargedMultiplicity(60, 1.4);
return pythia;
}
示例2: MbPythiaTuneATLAS_Flat
AliGenerator* MbPythiaTuneATLAS_Flat()
{
AliGenPythia* pythia = MbPythiaTuneATLAS();
comment = comment.Append("; flat multiplicity distribution");
// set high multiplicity trigger
// this weight achieves a flat multiplicity distribution
Double_t cont[] =
{0,
0.234836, 0.103484, 0.00984802, 0.0199906, 0.0260018, 0.0208481, 0.0101477, 0.00146998, -0.00681513, -0.0114928,
-0.0113352, -0.0102012, -0.00895238, -0.00534961, -0.00261648, -0.000819048, 0.00130816, 0.00177978, 0.00373838, 0.00566255,
0.00628156, 0.00687458, 0.00668017, 0.00702917, 0.00810848, 0.00876167, 0.00832783, 0.00848518, 0.0107709, 0.0106849,
0.00933702, 0.00912525, 0.0106553, 0.0102785, 0.0101756, 0.010962, 0.00957103, 0.00970448, 0.0117133, 0.012271,
0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113,
0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113,
0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113,
0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113,
0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113,
0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113, 0.0113,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0};
Double_t err[] =
{0,
0.00168216, 0.000743548, 0.00103125, 0.00108605, 0.00117101, 0.00124577, 0.00129119, 0.00128341, 0.00121421, 0.00112431,
0.00100588, 0.000895078, 0.000790314, 0.000711673, 0.000634547, 0.000589133, 0.000542763, 0.000509552, 0.000487375, 0.000468906,
0.000460196, 0.000455806, 0.00044843, 0.000449317, 0.00045007, 0.000458016, 0.000461167, 0.000474742, 0.00050161, 0.00051637,
0.000542336, 0.000558854, 0.000599169, 0.000611982, 0.000663855, 0.000696322, 0.000722825, 0.000771686, 0.000838023, 0.000908317,
0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003,
0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003,
0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003,
0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003,
0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003,
0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003, 0.0003,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0};
TH1F *weight = new TH1F("newweight","newweight",120,-0.5,119.5);
weight->SetContent(cont);
weight->SetError(err);
Int_t limit = weight->GetRandom();
pythia->SetTriggerChargedMultiplicity(limit, 1.4);
comment = comment.Append(Form("; multiplicity threshold set to %d in |eta| < 1.4", limit));
return pythia;
}
示例3: 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;
}
示例4: CreateGenerator
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;
}
}
示例5: MbPythia
AliGenerator* MbPythia() {
comment = comment.Append(" pp: Pythia low-pt");
// Pythia
AliGenPythia* pythia = new AliGenPythia(-1);
pythia->SetMomentumRange(0, 999999.);
// pythia->SetThetaRange(0., 180.);
// pythia->SetChildYRange(-12.,0.);
// pythia->SetPtRange(0,1000.);
// pythia->SetCutOnChild(1);
pythia->SetProcess(kPyMb);
pythia->SetEnergyCMS(energy);
pythia->SetForceDecay(kSemiMuonic);
return pythia;
}
示例6: PyMbTriggered
AliGenerator* PyMbTriggered(Int_t pdg)
{
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->SetTriggerParticle(pdg, 0.9);
return pythia;
}
示例7: MbPythiaTunePerugia0
AliGenerator* MbPythiaTunePerugia0()
{
comment = comment.Append(" pp: Pythia low-pt (Perugia0)");
//
// 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();
pythia->SetCrossingAngle(0,0.000280);
//
return pythia;
}
示例8: MbPythiaTunePerugia0bchadr
AliGenerator* MbPythiaTunePerugia0bchadr()
{
comment = comment.Append(" pp: Pythia (Perugia0) bchadr (1 bbbar per event, 1 c-hadron in |y|<1, chadrons decay to hadrons");
//
// Pythia
AliGenPythia* pythia = new AliGenPythia(-1);
pythia->SetMomentumRange(0, 999999.);
pythia->SetThetaRange(0., 180.);
pythia->SetYRange(-1.,1.);
pythia->SetPtRange(0,1000.);
pythia->SetProcess(kPyBeautyppMNRwmi);
pythia->SetEnergyCMS(energy);
// Tune
// 320 Perugia 0
pythia->SetTune(320);
pythia->UseNewMultipleInteractionsScenario();
//
// decays
pythia->SetForceDecay(kHadronicD);
return pythia;
}
示例9: MbPythiaTuneATLAS
AliGenerator* MbPythiaTuneATLAS()
{
comment = comment.Append(" pp: Pythia low-pt");
//
// 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
// C 306 ATLAS-CSC: Arthur Moraes' (new) ATLAS tune (needs CTEQ6L externally)
pythia->SetTune(306);
pythia->SetStrucFunc(kCTEQ6l);
//
return pythia;
}
示例10: MbPythiaTuneD6T
AliGenerator* MbPythiaTuneD6T()
{
comment = comment.Append(" pp: Pythia low-pt");
//
// 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
// 109 D6T : Rick Field's CDF Tune D6T (NB: needs CTEQ6L pdfs externally)
pythia->SetTune(109); // F I X
pythia->SetStrucFunc(kCTEQ6l);
//
return pythia;
}
示例11: 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;
}
示例12: 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;
}
示例13: MbPythia
AliGenerator* MbPythia()
{
comment = comment.Append(" pp: Pythia low-pt");
//
// 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);
return pythia;
}
示例14: MbPythiaTunePerugia0BtoJpsi2mu
AliGenerator* MbPythiaTunePerugia0BtoJpsi2mu() {
comment = comment.Append(" pp: Pythia (Perugia0) BtoJpsi (1 bbbar per event, 1 b-hadron, 1 J/psi");
// Pythia
AliGenPythia* pythia = new AliGenPythia(-1);
pythia->SetMomentumRange(0, 999999.);
pythia->SetYRange(-4.5, -2.0);
pythia->SetPtRange(0,1000.);
pythia->SetProcess(kPyBeautyppMNRwmi);
pythia->SetEnergyCMS(energy);
// Tune
// 320 Perugia 0
pythia->SetTune(320);
pythia->UseNewMultipleInteractionsScenario();
//
// decays
pythia->SetCutOnChild(1);
pythia->SetPdgCodeParticleforAcceptanceCut(443);
pythia->SetChildYRange(-4.5, -2.0);
pythia->SetChildPtRange(0,10000.);
//
// decays
pythia->SetForceDecay(kBJpsiDiMuon);
return pythia;
}
示例15: switch
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);
//.........这里部分代码省略.........