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; }
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; }