Exemplo n.º 1
0
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;
  }
}
Exemplo n.º 2
0
AliGenerator *GeneratorCustom(){

  Int_t sign = uidConfig % 2 == 0 ? 1 : -1;
  
  AliGenDPMjet *dpmjet  = (AliGenDPMjet*) GeneratorPhojet();
  
  dpmjet->SetTriggerParticle(sign * 3334, 1.2);

  return dpmjet;
  
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
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;
}