]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - macros/Config_PDC07_MBias_MUON.C
Coverity 14106
[u/mrichter/AliRoot.git] / macros / Config_PDC07_MBias_MUON.C
index 2f52d28d5cda7915f80a4df7274595a796edb2e6..f1eaee8b1f6b40d087fff2776e7cd1ea014cc542 100644 (file)
@@ -9,15 +9,19 @@ void Config(char directory[100]="", char option[6]="trgAll")
 {
     
     static Int_t sseed = 0; // Set 0 to use the current time
+
+  // Load Pythia libraries
+    LoadPythia();
     
   //=====================================================================
   //  Libraries required by geant321
     gSystem->Load("libgeant321.so");
+    
     new TGeant3TGeo("C++ Interface to Geant3");
   //=======================================================================
 
     if(!AliCDBManager::Instance()->IsDefaultStorageSet()){
-       AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
+       AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
        AliCDBManager::Instance()->SetRun(0);
     }
 
@@ -42,7 +46,7 @@ void Config(char directory[100]="", char option[6]="trgAll")
   //=======================================================================
   // Set the trigger configuration - not needed here for MUON in
   // stand-alone mode
-  // gAlice->SetTriggerDescriptor("p-p");
+  // AliSimulation::Instance()->SetTriggerConfig("p-p");
   // cout<<"Trigger configuration is set to  p-p"<<endl;
 
   //=======================================================================
@@ -98,6 +102,21 @@ void Config(char directory[100]="", char option[6]="trgAll")
   //    183.,  245.,  395.,  560., 563., 850., 900.  
   //=======================================================================
 
+    AliGenPythia* PythiaForMUONCocktail(Decay_t dt)
+       {
+           AliGenPythia *pythia = new AliGenPythia(1);
+           pythia->SetProcess(kPyMbMSEL1);
+           pythia->SetStrucFunc(kCTEQ5L);
+           pythia->SetEnergyCMS(14000.);
+           pythia->SetForceDecay(dt);
+           pythia->SetPtRange(0.,100.);
+           pythia->SetYRange(-8.,8.);
+           pythia->SetPhiRange(0.,360.);
+           pythia->SetPtHard(2.76,-1.0);
+           pythia->SwitchHFOff();
+           return pythia;
+       }
+
     if (!strcmp(option,"trg2mu")) {
        AliGenMUONCocktailpp *gener = new AliGenMUONCocktailpp();
        gener->SetPtRange(0.,100.);
@@ -109,6 +128,10 @@ void Config(char directory[100]="", char option[6]="trgAll")
        gener->SetOrigin(0.,0.,0.); 
        gener->SetSigma(0.,0.,5.);
        gener->SetVertexSmear(kPerEvent);
+       Decay_t dt = gener->GetDecayModePythia();
+       AliGenPythia* pythia = PythiaForMUONCocktail(dt);
+       pythia->Init();     
+       gener->AddGenerator(pythia,"Pythia",1);
        gener->Init(); 
     }
  
@@ -123,6 +146,10 @@ void Config(char directory[100]="", char option[6]="trgAll")
        gener->SetOrigin(0.,0.,0.); 
        gener->SetSigma(0.,0.,5.);
        gener->SetVertexSmear(kPerEvent);
+       Decay_t dt = gener->GetDecayModePythia();
+       AliGenPythia* pythia = PythiaForMUONCocktail(dt);
+       pythia->Init();     
+       gener->AddGenerator(pythia,"Pythia",1);
        gener->Init(); 
     }
     if (!strcmp(option,"trgAll")) {
@@ -135,13 +162,17 @@ void Config(char directory[100]="", char option[6]="trgAll")
        gener->SetOrigin(0.,0.,0.); 
        gener->SetSigma(0.,0.,5.3);
        gener->SetVertexSmear(kPerEvent);
+       Decay_t dt = gener->GetDecayModePythia();
+       AliGenPythia* pythia = PythiaForMUONCocktail(dt);
+       pythia->Init();     
+       gener->AddGenerator(pythia,"Pythia",1);
        gener->Init();
     }
   //============================================================= 
   // Field (L3 0.5 T) outside dimuon spectrometer
-    AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., AliMagFMaps::k5kG);
+    AliMagF* field = new AliMagF("Maps","Maps", 1., 1., AliMagF::k5kG);
     field->SetL3ConstField(0); // Using const. field in the barrel 
-    gAlice->SetField(field);
+    TGeoGlobalMagField::Instance()->SetField(field);
 
     Int_t   iITS = 1;
     Int_t   iFMD = 1;
@@ -165,7 +196,7 @@ void Config(char directory[100]="", char option[6]="trgAll")
     AliSHIL *SHIL = new AliSHILv3("SHIL", "Shielding Version 3");
   //=================== ITS parameters =============================
     if(iITS) {
-       AliITSvPPRasymmFMD *ITS  = new AliITSvPPRasymmFMD("ITS","ITS PPR detailed version with asymmetric services");
+       AliITS *ITS  = new AliITSv11Hybrid("ITS","ITS v11Hybrid");
     }      
  //=================== FMD parameters =============================
     if(iFMD) {
@@ -185,3 +216,14 @@ void Config(char directory[100]="", char option[6]="trgAll")
 Float_t EtaToTheta(Float_t arg){
     return (180./TMath::Pi())*2.*atan(exp(-arg));
 }
+
+  
+
+void LoadPythia()
+{
+    // Load Pythia related libraries
+    gSystem->Load("liblhapdf.so");      // Parton density functions
+    gSystem->Load("libEGPythia6.so");   // TGenerator interface
+    gSystem->Load("libpythia6.so");     // Pythia
+    gSystem->Load("libAliPythia6.so");  // ALICE specific implementations
+}