From afddaa11a81020e9e7f5e48ca2c1962ec7e94694 Mon Sep 17 00:00:00 2001 From: alla Date: Mon, 25 Oct 2004 15:19:53 +0000 Subject: [PATCH] Fixed a few problems --- FMD/AliFMD.cxx | 29 +- FMD/AliFMDDigitizer.cxx | 1 + FMD/AliFMDRing.cxx | 2 +- FMD/AliFMDv1.cxx | 22 +- FMD/Config.C | 1274 ++++----------------------------------- 5 files changed, 143 insertions(+), 1185 deletions(-) diff --git a/FMD/AliFMD.cxx b/FMD/AliFMD.cxx index 2dd5a4bbdbb..abf41da5dd4 100644 --- a/FMD/AliFMD.cxx +++ b/FMD/AliFMD.cxx @@ -173,7 +173,17 @@ AliFMD::AliFMD() fOuter(0), fFMD1(0), fFMD2(0), - fFMD3(0) + fFMD3(0), + fSDigits(0), + fNsdigits(0), + fSiDensity(0), + fPrintboardRotationId(0), + fIdentityRotationId(0), + fShortLegId(0), + fLongLegId(0), + fLegLength(0), + fLegRadius(0), + fModuleSpacing(0) { // // Default constructor for class AliFMD @@ -181,8 +191,6 @@ AliFMD::AliFMD() AliDebug(0, "Default CTOR"); fHits = 0; fDigits = 0; - fSDigits = 0; - fNsdigits = 0; fIshunt = 0; } @@ -193,7 +201,17 @@ AliFMD::AliFMD(const char *name, const char *title, bool detailed) fOuter(0), fFMD1(0), fFMD2(0), - fFMD3(0) + fFMD3(0), + fSDigits(0), + fNsdigits(0), + fSiDensity(0), + fPrintboardRotationId(0), + fIdentityRotationId(0), + fShortLegId(0), + fLongLegId(0), + fLegLength(0), + fLegRadius(0), + fModuleSpacing(0) { // // Standard constructor for Forward Multiplicity Detector @@ -651,8 +669,7 @@ AliFMD::MakeBranch(Option_t * option) void AliFMD::SetTreeAddress() { - // Set branch address for the Hits and Digits Tree. - + // Set branch address for the Hits, Digits, and SDigits Tree. if (fLoader->TreeH()) HitsArray(); AliDetector::SetTreeAddress(); diff --git a/FMD/AliFMDDigitizer.cxx b/FMD/AliFMDDigitizer.cxx index a273ad33f44..b664af6a36d 100644 --- a/FMD/AliFMDDigitizer.cxx +++ b/FMD/AliFMDDigitizer.cxx @@ -612,6 +612,7 @@ AliFMDSDigitizer::AliFMDSDigitizer(const Char_t* headerFile, // Add task to tasks folder loader->PostSDigitizer(this); + } //____________________________________________________________________ diff --git a/FMD/AliFMDRing.cxx b/FMD/AliFMDRing.cxx index 1d7e8999a83..da0a5ae2777 100644 --- a/FMD/AliFMDRing.cxx +++ b/FMD/AliFMDRing.cxx @@ -413,7 +413,7 @@ AliFMDRing::SetupGeometry(Int_t vacuumId, Int_t siId, Int_t pcbId, dz = w / 2 - fSiThickness - fPrintboardThickness / 2; gMC->Gspos(name.Data(), id, name2.Data(), fLowR + pbBotL + pbTopL / 2, 0, dz, pbRotId, "ONLY"); - name = Form(kPrintboardFormat, fId); + name = Form(kPrintboardFormat, 'B', fId); gMC->Gspos(name.Data(), id, name2.Data(), fLowR + pbBotL / 2, 0, dz, pbRotId, "ONLY"); diff --git a/FMD/AliFMDv1.cxx b/FMD/AliFMDv1.cxx index 60d04c26dc6..2e9436a4bde 100644 --- a/FMD/AliFMDv1.cxx +++ b/FMD/AliFMDv1.cxx @@ -120,21 +120,19 @@ AliFMDv1::StepManager() // Only process charged particles if(TMath::Abs(gMC->TrackCharge()) <= 0) return; - TString vol(gMC->CurrentVolName()); - std::cout << "Is inside " << vol << " ... " << std::endl; + // TString vol(gMC->CurrentVolName()); + // std::cout << "Is inside " << vol << " ... " << std::endl; // Only do stuff is the track is in one of the strips. // TString vol(gMC->CurrentVolName()); // if (!vol.Contains("STR")) return; Int_t copy; Int_t volumeId = gMC->CurrentVolID(copy); - if (volumeId != fInner->GetStripId() || volumeId != fOuter->GetStripId()) { - std::cout << "Not a FMD strip volume: " - << volumeId << " != " << fInner->GetStripId() << " or " - << fOuter->GetStripId() << std::endl; - return; - } - std::cout << "OK, an FMD strip volume!" << std::endl; - + // The ring ID is encoded in the volume name + Char_t ring = '\0'; + if (volumeId == fInner->GetStripId()) ring = 'I'; + else if (volumeId == fOuter->GetStripId()) ring = 'O'; + else return; + // Get the strip number. Note, that GEANT numbers divisions from 1, // so we subtract one Int_t strip = copy - 1; @@ -161,9 +159,7 @@ AliFMDv1::StepManager() // The sector number, calculated from module and phi division # Int_t sector = 2 * module + phiDiv - 1; - // The ring ID is encoded in the volume name - Char_t ring = vol[3]; - + // Get a pointer to the sub detector structure AliFMDSubDetector* det = 0; switch (detector) { diff --git a/FMD/Config.C b/FMD/Config.C index 39fb3d85cd8..056501ba788 100644 --- a/FMD/Config.C +++ b/FMD/Config.C @@ -1,241 +1,87 @@ -//____________________________________________________________________ -// -// $Id$ -// -// One can use the configuration macro in compiled mode by -// root [0] gSystem->Load("libgeant321"); -// root [0] gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include\ -// -I$ALICE_ROOT -I$ALICE/geant3/TGeant3"); -// root [0] .x grun.C(1,"ConfigPPR.C++") -// -#if !defined(__CINT__) || defined(__MAKECINT__) -#include -#include -#include -#include -#include -#include "STEER/AliRunLoader.h" -#include "STEER/AliRun.h" -#include "STEER/AliConfig.h" -#include "STEER/AliGenerator.h" -#include "PYTHIA6/AliDecayerPythia.h" -#include "EVGEN/AliGenHIJINGpara.h" -#include "THijing/AliGenHijing.h" -#include "EVGEN/AliGenCocktail.h" -#include "EVGEN/AliGenSlowNucleons.h" -#include "EVGEN/AliSlowNucleonModelExp.h" -#include "EVGEN/AliGenParam.h" -#include "EVGEN/AliGenMUONlib.h" -#include "EVGEN/AliGenMUONCocktail.h" -#include "PYTHIA6/AliGenPythia.h" -#include "STEER/AliMagFMaps.h" -#include "STRUCT/AliBODY.h" -#include "STRUCT/AliMAG.h" -#include "STRUCT/AliABSOv0.h" -#include "STRUCT/AliDIPOv2.h" -#include "STRUCT/AliHALL.h" -#include "STRUCT/AliFRAMEv2.h" -#include "STRUCT/AliSHILv2.h" -#include "STRUCT/AliPIPEv0.h" -#include "ITS/AliITSvPPRasymmFMD.h" -#include "TPC/AliTPCv2.h" -#include "TOF/AliTOFv4T0.h" -#include "RICH/AliRICHv1.h" -#include "ZDC/AliZDCv2.h" -#include "TRD/AliTRDv1.h" -#include "FMD/AliFMDv1.h" -#include "MUON/AliMUONv1.h" -#include "MUON/AliMUONSt1GeometryBuilderV2.h" -#include "MUON/AliMUONSt2GeometryBuilder.h" -#include "MUON/AliMUONSlatGeometryBuilder.h" -#include "MUON/AliMUONTriggerGeometryBuilder.h" -#include "PHOS/AliPHOSv1.h" -#include "PMD/AliPMDv1.h" -#include "START/AliSTARTv1.h" -#include "EMCAL/AliEMCALv1.h" -#include "CRT/AliCRTv0.h" -#include "VZERO/AliVZEROv2.h" -#endif +static Int_t eventsPerRun = 1; +static Int_t nParticles = 100; -//____________________________________________________________________ -// -// Generator types -// enum PprRun_t { test50, - kParam_8000, // - kParam_4000, // - kParam_2000, // - kHijing_cent1, // - kHijing_cent2, // - kHijing_per1, // - kHijing_per2, // - kHijing_per3, // - kHijing_per4, // - kHijing_per5, // - kHijing_jj25, // - kHijing_jj50, // - kHijing_jj75, // - kHijing_jj100, // - kHijing_jj200, // - kHijing_gj25, // - kHijing_gj50, // - kHijing_gj75, // - kHijing_gj100, // - kHijing_gj200, // - kHijing_pA, // - kPythia6, // - kPythia6Jets20_24, // - kPythia6Jets24_29, // - kPythia6Jets29_35, // - kPythia6Jets35_42, // - kPythia6Jets42_50, // - kPythia6Jets50_60, // - kPythia6Jets60_72, // - kPythia6Jets72_86, // - kPythia6Jets86_104, // - kPythia6Jets104_125, // - kPythia6Jets125_150, // - kPythia6Jets150_180, // - kD0PbPb5500, // - kCharmSemiElPbPb5500, // - kBeautySemiElPbPb5500, // - kCocktailTRD, // - kPyJJ, // - kPyGJ, // - kMuonCocktailCent1, // - kMuonCocktailPer1, // - kMuonCocktailPer4, // - kMuonCocktailCent1HighPt, // - kMuonCocktailPer1HighPt, // - kMuonCocktailPer4HighPt, // - kMuonCocktailCent1Single, // - kMuonCocktailPer1Single, // - kMuonCocktailPer4Single, - kRunMax + kParam_8000, + kParam_4000, + kParam_2000, + kHijing_cent1, + kHijing_cent2, + kHijing_per1, + kHijing_per2, + kHijing_per3, + kHijing_per4, + kHijing_per5, + kHijing_jj25, + kHijing_jj50, + kHijing_jj75, + kHijing_jj100, + kHijing_jj200, + kHijing_gj25, + kHijing_gj50, + kHijing_gj75, + kHijing_gj100, + kHijing_gj200, + kHijing_pA, + kPythia6, + kPythia6Jets, + kD0PbPb5500, + kD_TRD, + kB_TRD, + kJpsi_TRD, + kU_TRD, + kPyJJ, + kPyGJ }; -//____________________________________________________________________ -// -// Generator types names -// -const char* pprRunName[kRunMax] = { - "test50", - "kParam_8000", // - "kParam_4000", // - "kParam_2000", // - "kHijing_cent1", // - "kHijing_cent2", // - "kHijing_per1", // - "kHijing_per2", // - "kHijing_per3", // - "kHijing_per4", // - "kHijing_per5", // - "kHijing_jj25", // - "kHijing_jj50", // - "kHijing_jj75", // - "kHijing_jj100", // - "kHijing_jj200", // - "kHijing_gj25", // - "kHijing_gj50", // - "kHijing_gj75", // - "kHijing_gj100", // - "kHijing_gj200", // - "kHijing_pA", // - "kPythia6", // - "kPythia6Jets20_24", // - "kPythia6Jets24_29", // - "kPythia6Jets29_35", // - "kPythia6Jets35_42", // - "kPythia6Jets42_50", // - "kPythia6Jets50_60", // - "kPythia6Jets60_72", // - "kPythia6Jets72_86", // - "kPythia6Jets86_104", // - "kPythia6Jets104_125", // - "kPythia6Jets125_150", // - "kPythia6Jets150_180", // - "kD0PbPb5500", // - "kCharmSemiElPbPb5500", // - "kBeautySemiElPbPb5500", // - "kCocktailTRD", // - "kPyJJ", // - "kPyGJ", // - "kMuonCocktailCent1", // - "kMuonCocktailPer1", // - "kMuonCocktailPer4", // - "kMuonCocktailCent1HighPt", // - "kMuonCocktailPer1HighPt", // - "kMuonCocktailPer4HighPt", // - "kMuonCocktailCent1Single", // - "kMuonCocktailPer1Single", // - "kMuonCocktailPer4Single" -}; - -//____________________________________________________________________ enum PprGeo_t { - kHoles, // - kNoHoles // + kHoles, + kNoHoles }; -//____________________________________________________________________ enum PprRad_t { - kGluonRadiation, // - kNoGluonRadiation // + kGluonRadiation, + kNoGluonRadiation }; -//____________________________________________________________________ enum PprMag_t { - k2kG, // - k4kG, // - k5kG // + k2kG, + k4kG, + k5kG }; -//____________________________________________________________________ enum MC_t { kFLUKA, kGEANT3, kGEANT4 }; -//____________________________________________________________________ -// This part for configuration -//static PprRun_t srun = test50; -static PprRun_t srun = kParam_8000; -static PprGeo_t sgeo = kNoHoles; -static PprRad_t srad = kGluonRadiation; -static PprMag_t smag = k5kG; -static Int_t sseed = 12345; //Set 0 to use the current time -static MC_t smc = kGEANT3; - -//____________________________________________________________________ -// Comment line +// This part for configuration +//static PprRun_t srun = test50; +static PprRun_t srun = kPythia6; +static PprGeo_t sgeo = kHoles; +static PprRad_t srad = kGluonRadiation; +static PprMag_t smag = k5kG; +// static MC_t smc = kFLUKA; +static MC_t smc = kGEANT3; + +// Comment line static TString comment; -//____________________________________________________________________ // Functions -Float_t EtaToTheta(Float_t arg); -AliGenerator* GeneratorFactory(PprRun_t srun); -AliGenHijing* HijingStandard(); -void ProcessEnvironmentVars(); - -//____________________________________________________________________ -void -Config() -{ - // ThetaRange is (0., 180.). It was (0.28,179.72) 7/12/00 09:00 - // Theta range given through pseudorapidity limits 22/6/2001 +Float_t EtaToTheta(Float_t arg); - // Get settings from environment variables - ProcessEnvironmentVars(); +void Config() +{ + cout << "==> Config.C..." << endl; + // Set Random Number seed - gRandom->SetSeed(sseed); - cout<<"Seed for random number generation= "<GetSeed()<SetSeed(12345); + cout<<"Seed for random number generation= "<GetSeed()<Fatal("Config.C", "No MC type chosen"); return; } - - //__________________________________________________________________ - AliRunLoader* rl = 0; - + + // + // Run loader + // cout<<"Config.C: Creating Run Loader ..."<Fatal("Config.C","Can not instatiate the Run Loader"); return; @@ -282,8 +128,6 @@ Config() rl->SetNumberOfEventsPerFile(3); gAlice->SetRunLoader(rl); - //__________________________________________________________________ - // For FLUKA switch (smc) { case kFLUKA: { @@ -298,51 +142,33 @@ Config() } break; } - + + // // Set External decayer + // AliDecayer *decayer = new AliDecayerPythia(); - - - switch (srun) { - case kD0PbPb5500: - decayer->SetForceDecay(kHadronicD); - break; - case kCharmSemiElPbPb5500: - decayer->SetForceDecay(kSemiElectronic); - break; - case kBeautySemiElPbPb5500: - decayer->SetForceDecay(kSemiElectronic); - break; - default: - decayer->SetForceDecay(kAll); - break; - } + decayer->SetForceDecay(kAll); decayer->Init(); gMC->SetExternalDecayer(decayer); - // - // - //======================================================================= - // - //======================================================================= - // ************* STEERING parameters FOR ALICE SIMULATION ************** - // --- Specify event type to be tracked through the ALICE setup - // --- All positions are in cm, angles in degrees, and P and E in GeV + // + // Physics process control + // gMC->SetProcess("DCAY",1); gMC->SetProcess("PAIR",1); gMC->SetProcess("COMP",1); gMC->SetProcess("PHOT",1); gMC->SetProcess("PFIS",0); - gMC->SetProcess("DRAY",0); + gMC->SetProcess("DRAY",1); gMC->SetProcess("ANNI",1); gMC->SetProcess("BREM",1); gMC->SetProcess("MUNU",1); - gMC->SetProcess("CKOV",1); + gMC->SetProcess("CKOV",1); gMC->SetProcess("HADR",1); gMC->SetProcess("LOSS",2); - gMC->SetProcess("MULS",1); + gMC->SetProcess("MULS",1); gMC->SetProcess("RAYL",1); Float_t cut = 1.e-3; // 1MeV cut by default @@ -353,24 +179,42 @@ Config() gMC->SetCut("CUTNEU", cut); gMC->SetCut("CUTHAD", cut); gMC->SetCut("CUTMUO", cut); - gMC->SetCut("BCUTE", cut); - gMC->SetCut("BCUTM", cut); - gMC->SetCut("DCUTE", cut); - gMC->SetCut("DCUTM", cut); + gMC->SetCut("BCUTE", cut); + gMC->SetCut("BCUTM", cut); + gMC->SetCut("DCUTE", cut); + gMC->SetCut("DCUTM", cut); gMC->SetCut("PPCUTM", cut); - gMC->SetCut("TOFMAX", tofmax); - + gMC->SetCut("TOFMAX", tofmax); - // Generator Configuration - gAlice->SetDebug(0); - AliGenerator* gener = GeneratorFactory(srun); - gener->SetOrigin(0, 0, 0); // vertex position - gener->SetSigma(0, 0, 5.3); // Sigma in (X,Y,Z) (cm) on IP position - gener->SetCutVertexZ(1.); // Truncate at 1 sigma - gener->SetVertexSmear(kPerEvent); - gener->SetTrackingFlag(1); + // + //======================================================================= + // STEERING parameters FOR ALICE SIMULATION + // + // Specify event type to be tracked through the ALICE setup. All + // positions are in cm, angles in degrees, and P and E in GeV + // + if (gSystem->Getenv("CONFIG_NPARTICLES")) + nParticles = atoi(gSystem->Getenv("CONFIG_NPARTICLES")); + + cout << "\t* Creating and configuring generator for " << nParticles + << " particles..." << endl; + AliGenHIJINGpara *gener = new AliGenHIJINGpara(nParticles); + gener->SetMomentumRange(0., 999); + gener->SetPhiRange(0, 360); + + // Set pseudorapidity range from -6 to 6. + Float_t thmin = EtaToTheta( 6.); // theta min. <---> eta max + Float_t thmax = EtaToTheta(-6.); // theta max. <---> eta min + gener->SetThetaRange(thmin,thmax); + gener->SetOrigin(0, 0, 0); //vertex position + gener->SetSigma(0, 0, 0); //Sigma in (X,Y,Z) (cm) on IP position gener->Init(); - + // + // Activate this line if you want the vertex smearing to happen + // track by track + // + gAlice->SetDebug(10); + // // Comments // @@ -394,12 +238,13 @@ Config() std::cout << "\n\n Comment: " << comment << "\n" << std::endl; - //__________________________________________________________________ + // // Field (L3 0.4 T) + // AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., smag); field->SetL3ConstField(0); //Using const. field in the barrel rl->CdGAFile(); - gAlice->SetField(field); + gAlice->SetField(field); // // Used detectors @@ -661,909 +506,8 @@ Config() } } -//____________________________________________________________________ Float_t EtaToTheta(Float_t arg) { return (180./TMath::Pi())*2.*atan(exp(-arg)); } - -//____________________________________________________________________ -AliGenerator* -GeneratorFactory(PprRun_t srun) -{ - Int_t isw = 3; - if (srad == kNoGluonRadiation) isw = 0; - - - AliGenerator * gGener = 0; - switch (srun) { - case test50: - { - comment = comment.Append(":HIJINGparam test 50 particles"); - AliGenHIJINGpara *gener = new AliGenHIJINGpara(50); - gener->SetMomentumRange(0, 999999.); - gener->SetPhiRange(0., 360.); - // Set pseudorapidity range from -8 to 8. - Float_t thmin = EtaToTheta(8); // theta min. <---> eta max - Float_t thmax = EtaToTheta(-8); // theta max. <---> eta min - gener->SetThetaRange(thmin,thmax); - gGener=gener; - } - break; - case kParam_8000: - { - comment = comment.Append(":HIJINGparam N=8000"); - AliGenHIJINGpara *gener = new AliGenHIJINGpara(86030); - gener->SetMomentumRange(0, 999999.); - gener->SetPhiRange(0., 360.); - // Set pseudorapidity range from -8 to 8. - Float_t thmin = EtaToTheta(8); // theta min. <---> eta max - Float_t thmax = EtaToTheta(-8); // theta max. <---> eta min - gener->SetThetaRange(thmin,thmax); - gGener=gener; - } - break; - case kParam_4000: - { - comment = comment.Append("HIJINGparam N=4000"); - AliGenHIJINGpara *gener = new AliGenHIJINGpara(43015); - gener->SetMomentumRange(0, 999999.); - gener->SetPhiRange(0., 360.); - // Set pseudorapidity range from -8 to 8. - Float_t thmin = EtaToTheta(8); // theta min. <---> eta max - Float_t thmax = EtaToTheta(-8); // theta max. <---> eta min - gener->SetThetaRange(thmin,thmax); - gGener=gener; - } - break; - case kParam_2000: - { - comment = comment.Append("HIJINGparam N=2000"); - AliGenHIJINGpara *gener = new AliGenHIJINGpara(21507); - gener->SetMomentumRange(0, 999999.); - gener->SetPhiRange(0., 360.); - // Set pseudorapidity range from -8 to 8. - Float_t thmin = EtaToTheta(8); // theta min. <---> eta max - Float_t thmax = EtaToTheta(-8); // theta max. <---> eta min - gener->SetThetaRange(thmin,thmax); - gGener=gener; - } - break; - // - // Hijing Central - // - case kHijing_cent1: - { - comment = comment.Append("HIJING cent1"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - gGener=gener; - } - break; - case kHijing_cent2: - { - comment = comment.Append("HIJING cent2"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 2.); - gGener=gener; - } - break; - // - // Hijing Peripheral - // - case kHijing_per1: - { - comment = comment.Append("HIJING per1"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(5., 8.6); - gGener=gener; - } - break; - case kHijing_per2: - { - comment = comment.Append("HIJING per2"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(8.6, 11.2); - gGener=gener; - } - break; - case kHijing_per3: - { - comment = comment.Append("HIJING per3"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(11.2, 13.2); - gGener=gener; - } - break; - case kHijing_per4: - { - comment = comment.Append("HIJING per4"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(13.2, 15.); - gGener=gener; - } - break; - case kHijing_per5: - { - comment = comment.Append("HIJING per5"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(15., 100.); - gGener=gener; - } - break; - // - // Jet-Jet - // - case kHijing_jj25: - { - comment = comment.Append("HIJING Jet 25 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(1); - gener->SetPtJet(25.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.3,0.3); - gener->SetJetPhiRange(75., 165.); - gGener=gener; - } - break; - - case kHijing_jj50: - { - comment = comment.Append("HIJING Jet 50 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(1); - gener->SetPtJet(50.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.3,0.3); - gener->SetJetPhiRange(75., 165.); - gGener=gener; - } - break; - - case kHijing_jj75: - { - comment = comment.Append("HIJING Jet 75 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(1); - gener->SetPtJet(75.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.3,0.3); - gener->SetJetPhiRange(75., 165.); - gGener=gener; - } - break; - - case kHijing_jj100: - { - comment = comment.Append("HIJING Jet 100 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(1); - gener->SetPtJet(100.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.3,0.3); - gener->SetJetPhiRange(75., 165.); - gGener=gener; - } - break; - - case kHijing_jj200: - { - comment = comment.Append("HIJING Jet 200 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(1); - gener->SetPtJet(200.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.3,0.3); - gener->SetJetPhiRange(75., 165.); - gGener=gener; - } - break; - // - // Gamma-Jet - // - case kHijing_gj25: - { - comment = comment.Append("HIJING Gamma 25 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(2); - gener->SetPtJet(25.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.12, 0.12); - gener->SetJetPhiRange(220., 320.); - gGener=gener; - } - break; - - case kHijing_gj50: - { - comment = comment.Append("HIJING Gamma 50 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(2); - gener->SetPtJet(50.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.12, 0.12); - gener->SetJetPhiRange(220., 320.); - gGener=gener; - } - break; - - case kHijing_gj75: - { - comment = comment.Append("HIJING Gamma 75 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(2); - gener->SetPtJet(75.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.12, 0.12); - gener->SetJetPhiRange(220., 320.); - gGener=gener; - } - break; - - case kHijing_gj100: - { - comment = comment.Append("HIJING Gamma 100 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(2); - gener->SetPtJet(100.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.12, 0.12); - gener->SetJetPhiRange(220., 320.); - gGener=gener; - } - break; - - case kHijing_gj200: - { - comment = comment.Append("HIJING Gamma 200 GeV"); - AliGenHijing *gener = HijingStandard(); - // impact parameter range - gener->SetImpactParameterRange(0., 5.); - // trigger - gener->SetTrigger(2); - gener->SetPtJet(200.); - gener->SetRadiation(isw); - gener->SetSimpleJets(!isw); - gener->SetJetEtaRange(-0.12, 0.12); - gener->SetJetPhiRange(220., 320.); - gGener=gener; - } - break; - case kHijing_pA: - { - comment = comment.Append("HIJING pA"); - - AliGenCocktail *gener = new AliGenCocktail(); - - AliGenHijing *hijing = new AliGenHijing(-1); - // centre of mass energy - hijing->SetEnergyCMS(TMath::Sqrt(82./208.) * 14000.); - // impact parameter range - hijing->SetImpactParameterRange(0., 15.); - // reference frame - hijing->SetReferenceFrame("CMS"); - hijing->SetBoostLHC(1); - // projectile - hijing->SetProjectile("P", 1, 1); - hijing->SetTarget ("A", 208, 82); - // tell hijing to keep the full parent child chain - hijing->KeepFullEvent(); - // enable jet quenching - hijing->SetJetQuenching(0); - // enable shadowing - hijing->SetShadowing(1); - // Don't track spectators - hijing->SetSpectators(0); - // kinematic selection - hijing->SetSelectAll(0); - // - AliGenSlowNucleons* gray = new AliGenSlowNucleons(1); - AliSlowNucleonModel* model = new AliSlowNucleonModelExp(); - gray->SetSlowNucleonModel(model); - gray->SetDebug(1); - gener->AddGenerator(hijing,"Hijing pPb", 1); - gener->AddGenerator(gray, "Gray Particles",1); - gGener=gener; - } - break; - case kPythia6: - { - comment = comment.Append(":Pythia p-p @ 14 TeV"); - AliGenPythia *gener = new AliGenPythia(-1); - gener->SetMomentumRange(0,999999); - gener->SetThetaRange(0., 180.); - gener->SetYRange(-12,12); - gener->SetPtRange(0,1000); - gener->SetProcess(kPyMb); - gener->SetEnergyCMS(14000.); - gGener=gener; - } - break; - case kPythia6Jets20_24: - { - comment = comment.Append(":Pythia jets 20-24 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(20., 24.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets24_29: - { - comment = comment.Append(":Pythia jets 24-29 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(24., 29.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets29_35: - { - comment = comment.Append(":Pythia jets 29-35 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(29., 35.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets35_42: - { - comment = comment.Append(":Pythia jets 35-42 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(35., 42.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets42_50: - { - comment = comment.Append(":Pythia jets 42-50 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(42., 50.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets50_60: - { - comment = comment.Append(":Pythia jets 50-60 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(50., 60.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets60_72: - { - comment = comment.Append(":Pythia jets 60-72 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(60., 72.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets72_86: - { - comment = comment.Append(":Pythia jets 72-86 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(72., 86.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets86_104: - { - comment = comment.Append(":Pythia jets 86-104 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(86., 104.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets104_125: - { - comment = comment.Append(":Pythia jets 105-125 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(104., 125.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets125_150: - { - comment = comment.Append(":Pythia jets 125-150 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(125., 150.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kPythia6Jets150_180: - { - comment = comment.Append(":Pythia jets 150-180 GeV @ 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.);// Centre of mass energy - gener->SetProcess(kPyJets);// Process type - gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts - gener->SetJetPhiRange(0., 360.); - gener->SetJetEtRange(10., 1000.); - gener->SetGluonRadiation(1,1); - // gener->SetPtKick(0.); - // Structure function - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(150., 180.);// Pt transfer of the hard scattering - gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0); - gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.) - gGener=gener; - } - break; - case kD0PbPb5500: - { - comment = comment.Append(" D0 in Pb-Pb at 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(10); - gener->SetProcess(kPyD0PbPbMNR); - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(2.1,-1.0); - gener->SetEnergyCMS(5500.); - gener->SetNuclei(208,208); - gener->SetForceDecay(kHadronicD); - gener->SetYRange(-2,2); - gener->SetFeedDownHigherFamily(kFALSE); - gener->SetStackFillOpt(AliGenPythia::kParentSelection); - gener->SetCountMode(AliGenPythia::kCountParents); - gGener=gener; - } - break; - case kCharmSemiElPbPb5500: - { - comment = comment.Append(" Charm in Pb-Pb at 5.5 TeV"); - AliGenPythia * gener = new AliGenPythia(10); - gener->SetProcess(kPyCharmPbPbMNR); - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(2.1,-1.0); - gener->SetEnergyCMS(5500.); - gener->SetNuclei(208,208); - gener->SetForceDecay(kSemiElectronic); - gener->SetYRange(-2,2); - gener->SetFeedDownHigherFamily(kFALSE); - gener->SetCountMode(AliGenPythia::kCountParents); - gGener=gener; - } - break; - case kBeautySemiElPbPb5500: - { - comment = comment.Append(" Beauty in Pb-Pb at 5.5 TeV"); - AliGenPythia *gener = new AliGenPythia(10); - gener->SetProcess(kPyBeautyPbPbMNR); - gener->SetStrucFunc(kCTEQ4L); - gener->SetPtHard(2.75,-1.0); - gener->SetEnergyCMS(5500.); - gener->SetNuclei(208,208); - gener->SetForceDecay(kSemiElectronic); - gener->SetYRange(-2,2); - gener->SetFeedDownHigherFamily(kFALSE); - gener->SetCountMode(AliGenPythia::kCountParents); - gGener=gener; - } - break; - case kCocktailTRD: - { - comment = comment.Append(" Cocktail for TRD at 5.5 TeV"); - AliGenCocktail *gener = new AliGenCocktail(); - - AliGenParam *jpsi = new AliGenParam(10, - new AliGenMUONlib(), - AliGenMUONlib::kJpsiFamily, - "Vogt PbPb"); - - jpsi->SetPtRange(0, 100); - jpsi->SetYRange(-1., +1.); - jpsi->SetForceDecay(kDiElectron); - - AliGenParam *ups = new AliGenParam(10, - new AliGenMUONlib(), - AliGenMUONlib::kUpsilonFamily, - "Vogt PbPb"); - ups->SetPtRange(0, 100); - ups->SetYRange(-1., +1.); - ups->SetForceDecay(kDiElectron); - - AliGenParam *charm = new AliGenParam(10, - new AliGenMUONlib(), - AliGenMUONlib::kCharm, - "central"); - charm->SetPtRange(0, 100); - charm->SetYRange(-1.5, +1.5); - charm->SetForceDecay(kSemiElectronic); - - - AliGenParam *beauty = new AliGenParam(10, - new AliGenMUONlib(), - AliGenMUONlib::kBeauty, - "central"); - beauty->SetPtRange(0, 100); - beauty->SetYRange(-1.5, +1.5); - beauty->SetForceDecay(kSemiElectronic); - - gener->AddGenerator(jpsi,"J/psi",1); - gener->AddGenerator(ups,"Upsilon",1); - gener->AddGenerator(charm,"Charm",1); - gener->AddGenerator(beauty,"Beauty",1); - gGener=gener; - } - break; - case kPyJJ: - { - comment = comment.Append(" Jet-jet at 5.5 TeV"); - AliGenPythia *gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.); - gener->SetProcess(kPyJets); - Double_t ptHardMin=10.0, ptHardMax=-1.0; - gener->SetPtHard(ptHardMin,ptHardMax); - gener->SetYHard(-0.7,0.7); - gener->SetJetEtaRange(-0.2,0.2); - gener->SetEventListRange(0,1); - gGener=gener; - } - break; - case kPyGJ: - { - comment = comment.Append(" Gamma-jet at 5.5 TeV"); - AliGenPythia *gener = new AliGenPythia(-1); - gener->SetEnergyCMS(5500.); - gener->SetProcess(kPyDirectGamma); - Double_t ptHardMin=10.0, ptHardMax=-1.0; - gener->SetPtHard(ptHardMin,ptHardMax); - gener->SetYHard(-1.0,1.0); - gener->SetGammaEtaRange(-0.13,0.13); - gener->SetGammaPhiRange(210.,330.); - gener->SetEventListRange(0,1); - gGener=gener; - } - break; - case kMuonCocktailCent1: - { - comment = comment.Append(" Muon Cocktail Cent1"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(0.8); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(2); - gener->SetNumberOfCollisions(1626.); //Centrality class Cent1 for PDC04 - gener->SetNumberOfParticipants(359.4);//Centrality class Cent1 for PDC04 - gGener=gener; - } - break; - case kMuonCocktailPer1: - { - comment = comment.Append(" Muon Cocktail Per1"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(0.8); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(2); - gener->SetNumberOfCollisions(820.0);//Centrality class Per1 for PDC04 - gener->SetNumberOfParticipants(229.3);//Centrality class Per1 for PDC04 - gGener=gener; - } - break; - case kMuonCocktailPer4: - { - comment = comment.Append(" Muon Cocktail Per4"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(0.8); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(2); - gener->SetNumberOfCollisions(13.6);//Centrality class Per4 for PDC04 - gener->SetNumberOfParticipants(13.3);//Centrality class Per4 for PDC04 - gGener=gener; - } - break; - case kMuonCocktailCent1HighPt: - { - comment = comment.Append(" Muon Cocktail HighPt Cent1"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(2.5); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(2); - gener->SetNumberOfCollisions(1626.); //Centrality class Cent1 for PDC04 - gener->SetNumberOfParticipants(359.4);//Centrality class Cent1 for PDC04 - gGener=gener; - } - break; - case kMuonCocktailPer1HighPt : - { - comment = comment.Append(" Muon Cocktail HighPt Per1"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(2.5); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(2); - gener->SetNumberOfCollisions(820.0);//Centrality class Per1 for PDC04 - gener->SetNumberOfParticipants(229.3);//Centrality class Per1 for PDC04 - gGener=gener; - } - break; - case kMuonCocktailPer4HighPt: - { - comment = comment.Append(" Muon Cocktail HighPt Per4"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(2.5); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(2); - gener->SetNumberOfCollisions(13.6);//Centrality class Per4 for PDC04 - gener->SetNumberOfParticipants(13.3);//Centrality class Per4 for PDC04 - gGener=gener; - } - break; - case kMuonCocktailCent1Single: - { - comment = comment.Append(" Muon Cocktail Single Cent1"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(0.8); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(1); - gener->SetNumberOfCollisions(1626.); //Centrality class Cent1 for PDC04 - gener->SetNumberOfParticipants(359.4);//Centrality class Cent1 for PDC04 - gGener=gener; - } - break; - case kMuonCocktailPer1Single : - { - comment = comment.Append(" Muon Cocktail Single Per1"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(0.8); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(1); - gener->SetNumberOfCollisions(820.0);//Centrality class Per1 for PDC04 - gener->SetNumberOfParticipants(229.3);//Centrality class Per1 for PDC04 - gGener=gener; - } - break; - case kMuonCocktailPer4Single: - { - comment = comment.Append(" Muon Cocktail Single Per4"); - AliGenMUONCocktail * gener = new AliGenMUONCocktail(); - gener->SetPtRange(1.0,100.); // Transverse momentum range - gener->SetPhiRange(0.,360.); // Azimuthal angle range - gener->SetYRange(-4.0,-2.4); - gener->SetMuonPtCut(0.8); - gener->SetMuonThetaCut(171.,178.); - gener->SetMuonMultiplicity(1); - gener->SetNumberOfCollisions(13.6);//Centrality class Per4 for PDC04 - gener->SetNumberOfParticipants(13.3);//Centrality class Per4 for PDC04 - gGener=gener; - } - break; - default: break; - } - return gGener; -} - -//____________________________________________________________________ -AliGenHijing* -HijingStandard() -{ - AliGenHijing *gener = new AliGenHijing(-1); - // centre of mass energy - gener->SetEnergyCMS(5500.); - // reference frame - gener->SetReferenceFrame("CMS"); - // projectile - gener->SetProjectile("A", 208, 82); - gener->SetTarget ("A", 208, 82); - // tell hijing to keep the full parent child chain - gener->KeepFullEvent(); - // enable jet quenching - gener->SetJetQuenching(1); - // enable shadowing - gener->SetShadowing(1); - // neutral pion and heavy particle decays switched off - gener->SetDecaysOff(1); - // Don't track spectators - gener->SetSpectators(0); - // kinematic selection - gener->SetSelectAll(0); - return gener; -} - - -//____________________________________________________________________ -void -ProcessEnvironmentVars() -{ - // Run type - if (gSystem->Getenv("CONFIG_RUN_TYPE")) { - for (Int_t iRun = 0; iRun < kRunMax; iRun++) { - if (strcmp(gSystem->Getenv("CONFIG_RUN_TYPE"), pprRunName[iRun])==0) { - srun = (PprRun_t)iRun; - cout<<"Run type set to "<Getenv("CONFIG_SEED")) { - sseed = atoi(gSystem->Getenv("CONFIG_SEED")); - } -} - -//____________________________________________________________________ -// -// EOF -// -- 2.31.1