]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Geometry configuration for 2012
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 13 Jan 2012 09:32:31 +0000 (09:32 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 13 Jan 2012 09:32:31 +0000 (09:32 +0000)
EMCAL/AliEMCAL.cxx
EMCAL/AliEMCALEMCGeometry.cxx
EMCAL/AliEMCALGeometry.cxx
EMCAL/AliEMCALQADataMakerRec.cxx
EMCAL/AliEMCALShishKebabTrd1Module.cxx
EMCAL/MakeEMCALResMisAlignment.C
EMCAL/MakeEMCALZeroMisAlignment.C
EMCAL/macros/Config.C
EMCAL/macros/TestEMCALRecPoint.C
EMCAL/macros/TestESD.C

index fd354068ecfc0565b4ccea5953700cd942d9a5b4..12484cbef6240481e72364ca1f59a14abf9a374c 100644 (file)
@@ -451,7 +451,8 @@ AliEMCALGeometry* AliEMCAL::GetGeometry() const
     if(!fCheckRunNumberAndGeoVersion){// Set geometry with the name used in the configuration file
       return AliEMCALGeometry::GetInstance(GetTitle(),"EMCAL",mcname,mctitle) ;
     }
-    else{//Check run number and version and set the corresponding one.
+    else
+    {//Check run number and version and set the corresponding one.
       //Get run number
       //AliRunLoader *rl = AliRunLoader::Instance();
       //Int_t runNumber = rl->GetRunNumber();
@@ -461,28 +462,56 @@ AliEMCALGeometry* AliEMCAL::GetGeometry() const
       
       //Instanciate geometry depending on the run number
       TString geoName(GetTitle());
-      if(runNumber > 104064 && runNumber <= 140000 ){//2009-2010 runs
+      if(runNumber >= 104064 && runNumber < 140000 ){//2009-2010 runs
         //First year geometry, 4 SM.
         
-        if(!geoName.Contains("FIRSTYEARV1")){ 
+        if(!geoName.Contains("FIRSTYEARV1"))
+        { 
           AliInfo(Form("*** ATTENTION *** \n \t Specified geometry name <<%s>> for run %d is not considered! \n \t In use <<EMCAL_FIRSTYEARV1>>, check run number and year \n ",
-                       geoName.Data(),runNumber)); }
-        else {
-          AliDebug(1,"Initialized geometry with name <<EMCAL_FIRSTYEARV1>>");}
-        
+                       geoName.Data(),runNumber)); 
+        }
+        else 
+        {
+          AliDebug(1,"Initialized geometry with name <<EMCAL_FIRSTYEARV1>>");
+        }
+        printf("Initialized geometry with name <<EMCAL_FIRSTYEARV1>>\n");
+
         return AliEMCALGeometry::GetInstance("EMCAL_FIRSTYEARV1","EMCAL",mcname,mctitle) ;// Set geometry with the name used in the configuration file
       }
-      else{ //Default geometry
+      else if(runNumber >= 140000 && runNumber <= 170593)
+      {//Default geometry
         //Complete EMCAL geometry, 10 SM.
-  
-        if(!geoName.Contains("COMPLETEV1")){
+        
+        if(!geoName.Contains("COMPLETEV1"))
+        {
           AliInfo(Form("*** ATTENTION *** \n \t Specified geometry name <<%s>>  for run %d is  not considered! \n \t In use <<EMCAL_COMPLETEV1>>, check run number and year \n ",
-                       geoName.Data(),runNumber));}
-        else {
-          AliDebug(1,"Initialized geometry with name <<EMCAL_COMPLETEV1>>");}
+                       geoName.Data(),runNumber));
+        }
+        else 
+        {
+          AliDebug(1,"Initialized geometry with name <<EMCAL_COMPLETEV1>>");
+        }
+        printf("Initialized geometry with name <<EMCAL_COMPLETEV1>>\n");
 
         return AliEMCALGeometry::GetInstance("EMCAL_COMPLETEV1","EMCAL",mcname,mctitle) ;// Set geometry with the name used in the configuration file
       }
+      else{ //Default geometry
+        //Complete EMCAL geometry, 10 SM.
+        
+        if(!geoName.Contains("COMPLETE12SMV1"))
+        {
+          AliInfo(Form("*** ATTENTION *** \n \t Specified geometry name <<%s>>  for run %d is  not considered! \n \t In use <<EMCAL_COMPLETE12SMV1>>, check run number and year \n ",
+                       geoName.Data(),runNumber));
+        }
+        else 
+        {
+          AliDebug(1,"Initialized geometry with name <<EMCAL_COMPLETE12SMV1>>");
+        }
+        
+        printf("Initialized geometry with name <<EMCAL_COMPLETE12SMV1>>\n");
+        
+        return AliEMCALGeometry::GetInstance("EMCAL_COMPLETE12SMV1","EMCAL",mcname,mctitle) ;// Set geometry with the name used in the configuration file
+      }
     }
   }// Init geometry for the first time
   
index ef7473fafe996bd1efaac33d7b6799ffb0d224db..4d8d58019ccc1d49dd645681be2d1d0c89a238d2 100644 (file)
@@ -45,7 +45,8 @@
 //                   layer (additional 0.2 mm) 
 //                   The sizes have updated with last information from production
 //                   drawing (end of October 2010). 
-//                3. COMPLETEV1 contains now only 10 SM for runs from 2011
+//                3. COMPLETEV1 contains now only 10 SM for runs for year 2011
+//                4. COMPLETE12SMV1 contains 12 SM for runs from year 2012 and on
 //
 //   EMCAL_WSUC (Wayne State test stand)
 //      = no definite equivalent in old notation, was only used by
@@ -77,7 +78,7 @@ ClassImp(AliEMCALEMCGeometry)
 
 // these initialisations are needed for a singleton
 Bool_t    AliEMCALEMCGeometry::fgInit      = kFALSE;
-const Char_t*   AliEMCALEMCGeometry::fgkDefaultGeometryName = "EMCAL_COMPLETEV1";
+const Char_t*   AliEMCALEMCGeometry::fgkDefaultGeometryName = "EMCAL_COMPLETE12SMV1";
 
 
 AliEMCALEMCGeometry::AliEMCALEMCGeometry() 
@@ -258,17 +259,19 @@ void AliEMCALEMCGeometry::Init(const Text_t* mcname, const Text_t* mctitle){
       fGeoName = "EMCAL_PDC06";
     }
   }
+  
   if(fGeoName.Contains("WSUC")) fGeoName = "EMCAL_WSUC";
 
   //check that we have a valid geometry name
-  if(!(fGeoName.Contains("EMCAL_PDC06") || fGeoName.Contains("EMCAL_COMPLETE") || fGeoName.Contains("EMCAL_WSUC") 
-       || fGeoName.Contains("EMCAL_FIRSTYEAR") || fGeoName.Contains("EMCAL_FIRSTYEARV1") || fGeoName.Contains("EMCAL_COMPLETEV1"))) {
+  if(!(   fGeoName.Contains("EMCAL_PDC06")     || fGeoName.Contains("EMCAL_WSUC")  
+       || fGeoName.Contains("EMCAL_COMPLETE")  || fGeoName.Contains("EMCAL_COMPLETEV1")  || fGeoName.Contains("EMCAL_COMPLETE12SMV1") 
+       || fGeoName.Contains("EMCAL_FIRSTYEAR") || fGeoName.Contains("EMCAL_FIRSTYEARV1") )) {
     Fatal("Init", "%s is an undefined geometry!", fGeoName.Data()) ; 
   }
 
   // Option to know whether we have the "half" supermodule(s) or not
   fKey110DEG = 0;
-  if(fGeoName.Contains("COMPLETE") || fGeoName.Contains("PDC06")) fKey110DEG = 1; // for GetAbsCellId
+  if(fGeoName.Contains("COMPLETE") || fGeoName.Contains("PDC06") || fGeoName.Contains("12SM")) fKey110DEG = 1; // for GetAbsCellId
   if(fGeoName.Contains("COMPLETEV1"))  fKey110DEG = 0; 
   fShishKebabTrd1Modules = 0;
 
@@ -278,7 +281,7 @@ void AliEMCALEMCGeometry::Init(const Text_t* mcname, const Text_t* mctitle){
   //geometry-name specific options
 
   fNumberOfSuperModules = 12;       // 12 = 6 * 2 (6 in phi, 2 in Z)
-  fNPhi                 = 12;      // module granularity in phi within smod (azimuth)
+  fNPhi                 = 12;        // module granularity in phi within smod (azimuth)
   fNZ                   = 24;       // module granularity along Z within smod (eta)
   fNPHIdiv = fNETAdiv   = 2;        // tower granularity within module
   fArm1PhiMin           = 80.0;            // degrees, Starting EMCAL Phi position
@@ -335,7 +338,7 @@ void AliEMCALEMCGeometry::Init(const Text_t* mcname, const Text_t* mctitle){
     CheckAdditionalOptions();  
   }    
   
-  if(fGeoName.Contains("FIRSTYEARV1") || fGeoName.Contains("COMPLETEV1") ){
+  if(fGeoName.Contains("FIRSTYEARV1") || fGeoName.Contains("COMPLETEV1") || fGeoName.Contains("COMPLETE12SMV1") ){
     // Oct 26,2010 : First module has tilt = 0.75 degree : 
     // look to AliEMCALShishKebabTrd1Module::DefineFirstModule(key)
     // New sizes from production drawing, added Al front plate.
@@ -350,11 +353,16 @@ void AliEMCALEMCGeometry::Init(const Text_t* mcname, const Text_t* mctitle){
     fEtaModuleSize = fPhiModuleSize;
     fLateralSteelStrip = 0.015; // 0.015cm  = 0.15mm
     
-    if(fGeoName.Contains("COMPLETEV1")){
+    if(fGeoName.Contains("COMPLETEV1"))
+    {
       fNumberOfSuperModules = 10;      
       fArm1PhiMax           = 180.0; 
     }
-    
+    else if (fGeoName.Contains("COMPLETE12SMV1"))
+    {
+      fNumberOfSuperModules = 12;      
+      fArm1PhiMax           = 200.0; 
+    }
     CheckAdditionalOptions();  
   }
 
index 2509a5f6b2d4f5bb90fc89e269687836766e4960..a21a77feaa7e5b365c56e59d965423472817f381 100644 (file)
@@ -40,7 +40,9 @@
 //                the sizes updated with last information from production
 //                drawing (end of October 2010). 
 //      
-//   EMCAL_COMPLETEV1: Same fixes as FIRSTYEAR and 10 SM instead of 10+2 half SM
+//   EMCAL_COMPLETEV1: Same fixes as FIRSTYEAR and 10 SM instead of 10+2 half SM, for 2011 runs
+//
+//   EMCAL_COMPLETE12SMV1: contains 12 SM for runs from year 2012 and on
 //
 //   EMCAL_WSUC (Wayne State test stand)
 //      = no definite equivalent in old notation, was only used by
@@ -80,7 +82,7 @@
 //        You have to use just the correct name of geometry. If name is empty string the
 //        default name of geometry will be used.
 //         
-//  AliEMCALGeometry* geom = new AliEMCALGeometry("EMCAL_COMPLETEV1","EMCAL");
+//  AliEMCALGeometry* geom = new AliEMCALGeometry("EMCAL_COMPLETE12SMV1","EMCAL");
 //  TGeoManager::Import("geometry.root");
 //
 //  MC:   If you work with MC data you have to get geometry the next way: 
@@ -111,7 +113,7 @@ ClassImp(AliEMCALGeometry)
 
 // these initialisations are needed for a singleton
 AliEMCALGeometry  *AliEMCALGeometry::fgGeom      = 0;
-const Char_t*      AliEMCALGeometry::fgkDefaultGeometryName = "EMCAL_COMPLETEV1";
+const Char_t*      AliEMCALGeometry::fgkDefaultGeometryName = "EMCAL_COMPLETE12SMV1";
 
 //____________________________________________________________________________
 AliEMCALGeometry::AliEMCALGeometry():
index 2e0e3e9e92e9491b6b4c5476b0c1aa5a3edc5367..ee33a5f01295b88b182ecd11415c4be14e580a03 100644 (file)
@@ -120,7 +120,7 @@ AliEMCALQADataMakerRec::AliEMCALQADataMakerRec(fitAlgorithm fitAlgo) :
   fRawAnalyzerTRU->SetFixTau(kTRUE); 
   fRawAnalyzerTRU->SetTau(2.5); // default for TRU shaper
 
-       fGeom = new AliEMCALGeometry("EMCAL_COMPLETEV1", "EMCAL");
+       fGeom = new AliEMCALGeometry("EMCAL_COMPLETE12SMV1", "EMCAL");
 //  for (Int_t sm = 0 ; sm < fSuperModules ; sm++){
 //    fTextSM[sm] = NULL ;
 //  }
index ef02400e76292d0ac182cffca756dfa3ff3e12c4..f797403ef4152a50a0acad4a6699d96907fc9331 100644 (file)
@@ -60,10 +60,12 @@ AliEMCALShishKebabTrd1Module::AliEMCALShishKebabTrd1Module(Double_t theta, AliEM
     fORB(), 
     fORT()
 { 
+  // ctor
+  
   TString snam(g->GetName());
   Int_t key=0;
-  if(snam.Contains("FIRSTYEARv1",TString::kIgnoreCase)) key=1;
-  if(snam.Contains("COMPLETEv1",TString::kIgnoreCase)) key=1;
+  if     (snam.Contains("v1",TString::kIgnoreCase)) key=1; //EMCAL_COMPLETEV1 vs EMCAL_COMPLETEv1 (or other)
+  
   if(GetParameters()) {
     DefineFirstModule(key);
   }
@@ -91,6 +93,9 @@ AliEMCALShishKebabTrd1Module::AliEMCALShishKebabTrd1Module(AliEMCALShishKebabTrd
     fORB(), 
     fORT()
 { 
+  
+  // ctor
+  
   //  printf("** Left Neighbor : %s **\n", leftNeighbor.GetName());
   fTheta  = leftNeighbor.GetTheta() - fgangle; 
 
@@ -118,7 +123,8 @@ AliEMCALShishKebabTrd1Module::AliEMCALShishKebabTrd1Module(const AliEMCALShishKe
     fORB(mod.fORB),
     fORT(mod.fORT)
 {
-  //copy ctor
+  // copy ctor
+  
   for (Int_t i=0; i<3; i++) fOK3X3[i] = mod.fOK3X3[i];
 }
 
index 5a3b3d276db0e5883026d3963498a9723d3f4454..1d32f1bef2fe811dcf9bc7fd579cfa96915022f7 100644 (file)
@@ -1,4 +1,4 @@
-void MakeEMCALResMisAlignment(TString geoname = "EMCAL_COMPLETE"){
+void MakeEMCALResMisAlignment(TString geoname = "EMCAL_COMPLETE12SMV1"){
   // Create TClonesArray of residual misalignment objects for EMCAL
   //
   const char* macroname = "MakeEMCALResMisAlignment.C";
index 31a2464b03f2f9209d53dd20f15444b877ab29ef..56468c94719c0de3a584fbd8c998820451a06ef9 100644 (file)
@@ -1,4 +1,4 @@
-void MakeEMCALZeroMisAlignment(TString geoname = "EMCAL_COMPLETE"){
+void MakeEMCALZeroMisAlignment(TString geoname = "EMCAL_COMPLETE12SMV1"){
   // Create TClonesArray of zero misalignment objects for EMCAL
   //
   const char* macroname = "MakeEMCALZeroMisAlignment.C";
index 97545200a0452e0bc436a0f924fa10abcfaa0f06..7c2a448ae630febe33983c6883e459874ce1ae6d 100755 (executable)
@@ -45,7 +45,7 @@
 Float_t EtaToTheta(Float_t arg);
 void    LoadPythia();
 
-Int_t year =2011;
+Int_t year =2012;
 Bool_t checkGeoAndRun=kFALSE;
 
 void Config()
@@ -117,7 +117,7 @@ void Config()
     gMC->SetProcess("MULS",1);
     gMC->SetProcess("RAYL",1);
 
-    Float_t cut = 1.e-3;        // 1MeV cut by default
+    Float_t cut    = 1.e-3;  // 1MeV cut by default
     Float_t tofmax = 1.e10;
 
     gMC->SetCut("CUTGAM", cut);
@@ -146,13 +146,14 @@ void Config()
 
     AliGenBox *gener = new AliGenBox(nParticles);
     gener->SetMomentumRange(1.,10.);
-    if(year > 2010)
-      gener->SetPhiRange(80.0,180.0);
-    else if(year == 2010)
+  
+    if     (year == 2010)
       gener->SetPhiRange(80.0,120.0);
+    else if(year == 2011)
+      gener->SetPhiRange(80.0,180.0);
     else
       gener->SetPhiRange(80.0,190.0);
-
+    
     gener->SetThetaRange(EtaToTheta(0.7), EtaToTheta(-0.7));
 
     gener->SetOrigin(0,0,0);        //vertex position
@@ -179,15 +180,15 @@ void Config()
     Int_t   iPHOS  =  0;
     Int_t   iPIPE  =  0;
     Int_t   iPMD   =  0;
-    Int_t   iHMPID  =  0;
+    Int_t   iHMPID =  0;
     Int_t   iSHIL  =  0;
-    Int_t   iT0 =  0;
+    Int_t   iT0    =  0;
     Int_t   iTOF   =  0;
     Int_t   iTPC   =  0;
     Int_t   iTRD   =  0;
     Int_t   iZDC   =  0;
     Int_t   iEMCAL =  1;
-    Int_t   iACORDE   =  0;
+    Int_t   iACORDE=  0;
     Int_t   iVZERO =  0;
     rl->CdGAFile();
     //=================== Alice BODY parameters =============================
@@ -323,10 +324,12 @@ void Config()
     {
         //=================== EMCAL parameters ============================
 
-      if(year == 2010)        // d phi = 40 degrees
-       AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_FIRSTYEARV1");
-      else if (year > 2010)  // d phi = 100 degrees
-       AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_COMPLETEV1");
+      if      (year == 2010)  // d phi = 40 degrees
+        AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_FIRSTYEARV1");
+      else if (year == 2011)  // d phi = 100 degrees
+        AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_COMPLETEV1");
+      else if (year > 2011)   // d phi = 110 degrees
+        AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_COMPLETE12SMV1");
       else // Old configuration with 110 degrees but not perfect geometry
         AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_COMPLETE");
 
index 1b630da7a99212421f181132579d690a832cfdad..f5d33bb9b962c3c812dd421b9de87b9a59877b00 100755 (executable)
@@ -27,7 +27,7 @@ void TestEMCALRecPoint()
   }
   else {
     cout<<"alirun not available, instantiate"<<endl;
-    geom =  AliEMCALGeometry::GetInstance("EMCAL_COMPLETE") ;  
+    geom =  AliEMCALGeometry::GetInstance("EMCAL_COMPLETE12SMV1") ;  
   } 
   
   //Load RecPoints
index 7ed33ffa9b2795fed36a7a4d18423a5f317f2013..1b5ff0da99bdb5b276434e9b8cb7c3e22495ee59 100644 (file)
@@ -162,6 +162,7 @@ void TestESD() {
       //clus->GetMomentum(p,vertex_position);
       
       Double_t cphi = vpos.Phi();
+      if(cphi < 0) cphi +=TMath::TwoPi();
       Double_t ceta = vpos.Eta();
       
       Int_t nMatched   = clus->GetNTracksMatched();