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; } }
AliGenerator *GeneratorCustom(){ Int_t sign = uidConfig % 2 == 0 ? 1 : -1; AliGenDPMjet *dpmjet = (AliGenDPMjet*) GeneratorPhojet(); dpmjet->SetTriggerParticle(sign * 3334, 1.2); return dpmjet; }
AliGenerator* Dpmjet() { AliGenDPMjet* dpmjet = new AliGenDPMjet(-1); dpmjet->SetEnergyCMS(energy); dpmjet->SetProjectile("A", 208, 82); dpmjet->SetTarget ("A", 208, 82); dpmjet->SetImpactParameterRange(bMin, bMax); dpmjet->SetPi0Decay(0); return dpmjet; }
AliGenerator* MbPhojet() { comment = comment.Append(" pp: Pythia low-pt"); // // DPMJET #if defined(__CINT__) gSystem->Load("libDPMJET"); // Parton density functions gSystem->Load("libTDPMjet"); // Parton density functions #endif AliGenDPMjet* dpmjet = new AliGenDPMjet(-1); dpmjet->SetMomentumRange(0, 999999.); dpmjet->SetThetaRange(0., 180.); dpmjet->SetYRange(-12.,12.); dpmjet->SetPtRange(0,1000.); dpmjet->SetProcess(kDpmMb); dpmjet->SetEnergyCMS(energy); dpmjet->SetCrossingAngle(0,0.000280); return dpmjet; }