本文整理汇总了C++中AliGenPythia::SetStrucFunc方法的典型用法代码示例。如果您正苦于以下问题:C++ AliGenPythia::SetStrucFunc方法的具体用法?C++ AliGenPythia::SetStrucFunc怎么用?C++ AliGenPythia::SetStrucFunc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AliGenPythia
的用法示例。
在下文中一共展示了AliGenPythia::SetStrucFunc方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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;
}
}
示例2: 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;
}
示例3: AliGenPythia
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;
}
示例4: 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);
//.........这里部分代码省略.........