예제 #1
0
AliGenerator* CocktailSignals() {
  
  comment = comment.Append("Cocktail of various signals");

  AliGenCocktail *cocktail = new AliGenCocktail();

  // 1) Dummy generation of positive pions, to keep memory of the production vertex
  AliGenBox *dummyPionPos = new AliGenBox(20);
  dummyPionPos->SetYRange(-0.5, 0.5);
  dummyPionPos->SetPtRange(1., 10.);
  dummyPionPos->SetPart(211);
  cocktail->AddGenerator(dummyPionPos,"dummyPionPos",1);

  // 2) Dummy generation of negative pions, to keep memory of the production vertex
  AliGenBox *dummyPionNeg = new AliGenBox(20);
  dummyPionNeg->SetYRange(-0.5, 0.5);
  dummyPionNeg->SetPtRange(1., 10.);
  dummyPionNeg->SetPart(-211);
  cocktail->AddGenerator(dummyPionNeg,"dummyPionNeg",1);

  // 3) Generator for the custom signal
  AliGenerator* signalGen = 0x0;      
  if      (signal == kPythia6)                   signalGen = MbPythia(); 
  else if (signal == kPythiaPerugia0)            signalGen = MbPythiaTunePerugia0();
  else if (signal == kHijing)                    signalGen = Hijing();	
  else if (signal == kHijing2500)                signalGen = Hijing2500();	
  else if (signal == kGenBox)                    signalGen = GenBox();
  else if (signal == kGenMuonLMR)                signalGen = GenMuonLMR();
  else if (signal == kGenParamJpsi)              signalGen = GenParamJpsi();
  else if (signal == kGenCorrHF)                 signalGen = GenCorrHF();
  else if (signal == kGenPionKaon)               signalGen = GenParamPionKaon();
  else if (signal == kPythiaPerugia0BtoJpsi2mu)  signalGen = MbPythiaTunePerugia0BtoJpsi2mu();
  cocktail->AddGenerator(signalGen, "signal", 1);

  cocktail->SetTrackingFlag(1);

  return cocktail;

}
예제 #2
0
AliGenerator* Hijing2500Cocktail() {
  
  comment = comment.Append(" PbPb: Hjing2500 at 5.5 + muon signals");

  AliGenCocktail *cocktail = new AliGenCocktail();
  cocktail->SetProjectile("A", 208, 82);
  cocktail->SetTarget    ("A", 208, 82);
  cocktail->SetEnergyCMS(energy);

  // 1 Hijing event: provides underlying event and collision geometry 
  AliGenHijing *hijing = Hijing2500();
  cocktail->AddGenerator(hijing,"hijing",1);

  // generator for the custom signal
  AliGenerator* signalGen = 0x0;      
  switch (signal) {
  case 0:
    signalGen = GenBox();
    break;
  case 1:
    signalGen = GenMuonLMR(); 
    break;
  case 2:
    signalGen = GenCorrHF();
    break;
  default:
    signalGen = GenBox();
    break;
  }
  cocktail->AddGenerator(signalGen, "signal", 1);

  cocktail->SetTrackingFlag(1);

  return cocktail;

}