]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - test/QA/Config.C
Fixes for bug #52499: Field polarities inconsistiency
[u/mrichter/AliRoot.git] / test / QA / Config.C
index dff54330b1e5b91c4e2ef6c149fbb5820301e881..85cff004ad55cc115c0cca5434f37d103c3926d1 100644 (file)
@@ -43,7 +43,7 @@
 #include "STEER/AliConfig.h"
 #include "PYTHIA6/AliDecayerPythia.h"
 #include "PYTHIA6/AliGenPythia.h"
-#include "STEER/AliMagFMaps.h"
+#include "STEER/AliMagF.h"
 #include "STRUCT/AliBODY.h"
 #include "STRUCT/AliMAG.h"
 #include "STRUCT/AliABSOv3.h"
@@ -56,7 +56,7 @@
 #include "ITS/AliITSvPPRasymmFMD.h"
 #include "TPC/AliTPCv2.h"
 #include "TOF/AliTOFv6T0.h"
-#include "HMPID/AliHMPIDv2.h"
+#include "HMPID/AliHMPIDv3.h"
 #include "ZDC/AliZDCv3.h"
 #include "TRD/AliTRDv1.h"
 #include "FMD/AliFMDv1.h"
@@ -99,12 +99,6 @@ enum DecayHvFl_t
 {
   kNature,  kHadr, kSemiEl, kSemiMu
 };
-//--- Magnetic Field ---
-enum Mag_t
-{
-    k2kG, k4kG, k5kG
-};
-
 //--- Trigger config ---
 enum TrigConf_t
 {
@@ -134,7 +128,7 @@ void ProcessEnvironmentVars();
 
 // This part for configuration
 static DecayHvFl_t   decHvFl  = kNature;
-static Mag_t         mag      = k5kG;
+static AliMagF::BMap_t mag    = AliMagF::k5kG;
 static TrigConf_t    trig     = kDefaultPPTrig; // default pp trigger configuration
 static Int_t         runNumber= 0;
 static Int_t         eventNumber= 0;
@@ -183,14 +177,23 @@ void Config()
        // Get settings from environment variables
   ProcessEnvironmentVars();
 
+  // Random Number seed
+  if (gSystem->Getenv("CONFIG_SEED")) {
+    seed = atoi(gSystem->Getenv("CONFIG_SEED"));
+  }
+  else if(gSystem->Getenv("DC_EVENT") && gSystem->Getenv("DC_RUN")){
+    seed = runNumber * 100000 + eventNumber;
+  }
+  gRandom->SetSeed(seed);
+  cout<<"Seed for random number generation= "<<gRandom->GetSeed()<<endl; 
+
   // libraries required by geant321
 #if defined(__CINT__)
-       gSystem->Load("liblhapdf.so");      // Parton density functions
-       gSystem->Load("libpythia6.so");     // Pythia
+       gSystem->Load("liblhapdf");      // Parton density functions
+       gSystem->Load("libEGPythia6");   // TGenerator interface
+       gSystem->Load("libpythia6");     // Pythia
+       gSystem->Load("libAliPythia6");  // ALICE specific implementations
        gSystem->Load("libgeant321");
-       gSystem->Load("libEG");
-       gSystem->Load("libEGPythia6.so");   // TGenerator interface
-       gSystem->Load("libAliPythia6.so");  // ALICE specific implementations
 #endif
   new TGeant3TGeo("C++ Interface to Geant3");
 
@@ -200,6 +203,9 @@ void Config()
   //=======================================================================
   // Run loader
   AliRunLoader* rl=0x0;
+
+  AliLog::Message(AliLog::kInfo, "Creating Run Loader", "", "", "Config()"," ConfigPPR.C", __LINE__);
+
   rl = AliRunLoader::Open("galice.root",
                          AliConfig::GetDefaultEventFolderName(),
                          "recreate");
@@ -209,16 +215,38 @@ void Config()
       return;
     }
   rl->SetCompressionLevel(2);
-  rl->SetNumberOfEventsPerFile(1000);
+  rl->SetNumberOfEventsPerFile(100);
   gAlice->SetRunLoader(rl);
 
-  // Run number
-  //gAlice->SetRunNumber(runNumber);
-
   // Set the trigger configuration
   gAlice->SetTriggerDescriptor(TrigConfName[trig]);
   cout<<"Trigger configuration is set to  "<<TrigConfName[trig]<<endl;
 
+  //======================//
+  // Set External decayer //
+  //======================//
+  TVirtualMCDecayer* decayer = new AliDecayerPythia();
+  // DECAYS
+  //
+  switch(decHvFl) {
+    case kNature:
+      decayer->SetForceDecay(kAll);
+      break;
+    case kHadr:
+      decayer->SetForceDecay(kHadronicD);
+      break;
+    case kSemiEl:
+      decayer->SetForceDecay(kSemiElectronic);
+      break;
+    case kSemiMu:
+      decayer->SetForceDecay(kSemiMuonic);
+      break;
+  }
+  decayer->Init();
+  gMC->SetExternalDecayer(decayer);
+  if(proc == kPyJetJetPHOSv2) // in this case we decay the pi0
+    decayer->SetForceDecay(kNeutralPion);
+
   //
   //=======================================================================
   // ************* STEERING parameters FOR ALICE SIMULATION **************
@@ -256,30 +284,6 @@ void Config()
     gMC->SetCut("PPCUTM", cut);
     gMC->SetCut("TOFMAX", tofmax);
 
-  //======================//
-  // Set External decayer //
-  //======================//
-  TVirtualMCDecayer* decayer = new AliDecayerPythia();
-  // DECAYS
-  //
-  switch(decHvFl) {
-  case kNature:
-    decayer->SetForceDecay(kAll);
-    break;
-  case kHadr:
-    decayer->SetForceDecay(kHadronicD);
-    break;
-  case kSemiEl:
-    decayer->SetForceDecay(kSemiElectronic);
-    break;
-  case kSemiMu:
-    decayer->SetForceDecay(kSemiMuonic);
-    break;
-  }
-  decayer->Init();
-  gMC->SetExternalDecayer(decayer);
-  if(proc == kPyJetJetPHOSv2) // in this case we decay the pi0
-    decayer->SetForceDecay(kNeutralPion);
 
   //=========================//
   // Generator Configuration //
@@ -391,21 +395,17 @@ void Config()
  }
   // FIELD
 
-  if (mag == k2kG) {
+  if (mag == AliMagF::k2kG) {
     comment = comment.Append(" | L3 field 0.2 T");
-  } else if (mag == k4kG) {
-    comment = comment.Append(" | L3 field 0.4 T");
-  } else if (mag == k5kG) {
+  } else if (mag == AliMagF::k5kG) {
     comment = comment.Append(" | L3 field 0.5 T");
   }
   printf("\n \n Comment: %s \n \n", comment.Data());
-
-  AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., mag);
-  field->SetL3ConstField(0); //Using const. field in the barrel
+  // to use constant field in the barrel use:
+  //  AliMagF* field = new AliMagF("Maps","Maps", 2, -1., -1., 10., AliMagF::k5kGUniform);
+  AliMagF* field = new AliMagF("Maps","Maps", 2, -1., -1., 10., mag);
+  TGeoGlobalMagField::Instance()->SetField(field);
   rl->CdGAFile();
-  gAlice->SetField(field);
-
-
 
   Int_t iABSO  = 1;
   Int_t iACORDE= 1;
@@ -514,7 +514,7 @@ void Config()
     if (iHMPID)
     {
         //=================== HMPID parameters ===========================
-        AliHMPID *HMPID = new AliHMPIDv2("HMPID", "normal HMPID");
+        AliHMPID *HMPID = new AliHMPIDv3("HMPID", "normal HMPID");
 
     }
 
@@ -918,15 +918,7 @@ void ProcessEnvironmentVars()
     }
     //cout<<"Event number "<<eventNumber<<endl;
 
-   // Random Number seed
-    if (gSystem->Getenv("CONFIG_SEED")) {
-      seed = atoi(gSystem->Getenv("CONFIG_SEED"));
-    }
-    else if(gSystem->Getenv("DC_EVENT") && gSystem->Getenv("DC_RUN")){
-      seed = runNumber * 100000 + eventNumber;
-    }
 
-    gRandom->SetSeed(seed);
 
     cout<<"////////////////////////////////////////////////////////////////////////////////////"<<endl;
     cout<<"Seed for random number generation= "<< seed<<"  "<< gRandom->GetSeed()<<endl;