]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - macros/Config.C
New macros and some changes related to EMCAL (B.Nilsen)
[u/mrichter/AliRoot.git] / macros / Config.C
index d4ec92aea48139106b2947ee97b486b4be42fc84..8f5dbb7b2bebfcab84df5539961621827ca9be27 100644 (file)
@@ -4,6 +4,7 @@ void Config()
     // Switch on Transition Radiation simulation. 6/12/00 18:00
     // iZDC=1  7/12/00 09:00
     // ThetaRange is (0., 180.). It was (0.28,179.72) 7/12/00 09:00
+    // Theta range given through pseudorapidity limits 22/6/2001
 
     // Set Random Number seed
     // gRandom->SetSeed(12345);
@@ -75,8 +76,10 @@ void Config()
 
     gener->SetMomentumRange(0, 999);
     gener->SetPhiRange(0, 360);
-    //  gener->SetThetaRange(0.28,179.72);
-    gener->SetThetaRange(0., 180.);
+    // 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);
     gener->SetOrigin(0, 0, 0);  //vertex position
     gener->SetSigma(0, 0, 0);   //Sigma in (X,Y,Z) (cm) on IP position
     gener->Init();
@@ -107,6 +110,7 @@ void Config()
     Int_t   iTPC = 1;
     Int_t   iTRD = 1;
     Int_t   iZDC = 1;
+    Int_t   iEMCAL = 0;
 
     //=================== Alice BODY parameters =============================
     AliBODY *BODY = new AliBODY("BODY", "Alice envelop");
@@ -154,7 +158,7 @@ void Config()
     {
         //=================== SHIL parameters ============================
 
-        AliSHIL *SHIL = new AliSHILv0("SHIL", "Shielding");
+        AliSHIL *SHIL = new AliSHILvF("SHIL", "Shielding");
     }
 
 
@@ -164,79 +168,75 @@ void Config()
 
         AliPIPE *PIPE = new AliPIPEv0("PIPE", "Beam Pipe");
     }
-
-    if (iITS)
-    {
+  if(iITS) {
 
 //=================== ITS parameters ============================
-        //
-        // As the innermost detector in ALICE, the Inner Tracking System "impacts" on
-        // almost all other detectors. This involves the fact that the ITS geometry
-        // still has several options to be followed in parallel in order to determine
-        // the best set-up which minimizes the induced background. All the geometries
-        // available to date are described in the following. Read carefully the comments
-        // and use the default version (the only one uncommented) unless you are making
-        // comparisons and you know what you are doing. In this case just uncomment the
-        // ITS geometry you want to use and run Aliroot.
-        //
-        // Detailed geometries:         
-        //
-        //
-        //
-        //AliITS *ITS  = new AliITSv5symm("ITS","Updated ITS TDR detailed version with symmetric services");
-        //
-        AliITS *ITS =
-            new AliITSv5asymm("ITS",
-                              "Updates ITS TDR detailed version with asymmetric services");
-        //
-        //AliITSvPPRasymm *ITS  = new AliITSvPPRasymm("ITS","New ITS PPR detailed version with asymmetric services");
-        //ITS->SetMinorVersion(2);
-        //ITS->SetReadDet(kFALSE);
-        //ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det");
-        //ITS->SetThicknessDet1(300.);   // detector thickness on layer 1 must be in the range [100,300]
-        //ITS->SetThicknessDet2(300.);   // detector thickness on layer 2 must be in the range [100,300]
-        //ITS->SetThicknessChip1(300.);  // chip thickness on layer 1 must be in the range [150,300]
-        //ITS->SetThicknessChip2(300.);  // chip thickness on layer 2 must be in the range [150,300]
-        //ITS->SetRails(1);            // 1 --> rails in ; 0 --> rails out
-        //ITS->SetCoolingFluid(1);     // 1 --> water ; 0 --> freon
-        //
-        //AliITSvPPRsymm *ITS  = new AliITSvPPRsymm("ITS","New ITS PPR detailed version with symmetric services");
-        //ITS->SetMinorVersion(2);                                      
-        //ITS->SetReadDet(kFALSE);
-        //ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.det");
-        //ITS->SetThicknessDet1(300.);   // detector thickness on layer 1 must be in the range [100,300]
-        //ITS->SetThicknessDet2(300.);   // detector thickness on layer 2 must be in the range [100,300]
-        //ITS->SetThicknessChip1(300.);  // chip thickness on layer 1 must be in the range [150,300]
-        //ITS->SetThicknessChip2(300.);  // chip thickness on layer 2 must be in the range [150,300]
-        //ITS->SetRails(1);              // 1 --> rails in ; 0 --> rails out
-        //ITS->SetCoolingFluid(1);       // 1 --> water ; 0 --> freon
-        //
-        //
-        // Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful 
-        // for reconstruction !):
-        //                                                     
-        //
-        //
-        //AliITSvPPRcoarseasymm *ITS  = new AliITSvPPRcoarseasymm("ITS","New ITS coarse version with asymmetric services");
-        //ITS->SetRails(1);                // 1 --> rails in ; 0 --> rails out
-        //ITS->SetSupportMaterial(0);      // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
-        //
-        //AliITS *ITS  = new AliITSvPPRcoarsesymm("ITS","New ITS coarse version with symmetric services");
-        //ITS->SetRails(1);                // 1 --> rails in ; 0 --> rails out
-        //ITS->SetSupportMaterial(0);      // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
-        //                      
-        //
-        //
-        // Geant3 <-> EUCLID conversion
-        // ============================
-        //
-        // SetEUCLID is a flag to output (=1) or not to output (=0) both geometry and
-        // media to two ASCII files (called by default ITSgeometry.euc and
-        // ITSgeometry.tme) in a format understandable to the CAD system EUCLID.
-        // The default (=0) means that you dont want to use this facility.
-        //
-        ITS->SetEUCLID(0);
-    }
+    //
+    // As the innermost detector in ALICE, the Inner Tracking System "impacts" on
+    // almost all other detectors. This involves the fact that the ITS geometry
+    // still has several options to be followed in parallel in order to determine
+    // the best set-up which minimizes the induced background. All the geometries
+    // available to date are described in the following. Read carefully the comments
+    // and use the default version (the only one uncommented) unless you are making
+    // comparisons and you know what you are doing. In this case just uncomment the
+    // ITS geometry you want to use and run Aliroot.
+    //
+    // Detailed geometries:         
+    //
+    //
+    //AliITS *ITS  = new AliITSv5symm("ITS","Updated ITS TDR detailed version with symmetric services");
+    //
+    //AliITS *ITS  = new AliITSv5asymm("ITS","Updates ITS TDR detailed version with asymmetric services");
+    //
+    AliITSvPPRasymm *ITS  = new AliITSvPPRasymm("ITS","New ITS PPR detailed version with asymmetric services");
+    ITS->SetMinorVersion(2);                                    // don't touch this parameter if you're not an ITS developer
+    ITS->SetReadDet(kFALSE);                                    // don't touch this parameter if you're not an ITS developer
+    //    ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det");  // don't touch this parameter if you're not an ITS developer
+    ITS->SetThicknessDet1(200.);   // detector thickness on layer 1 must be in the range [100,300]
+    ITS->SetThicknessDet2(200.);   // detector thickness on layer 2 must be in the range [100,300]
+    ITS->SetThicknessChip1(200.);  // chip thickness on layer 1 must be in the range [150,300]
+    ITS->SetThicknessChip2(200.);  // chip thickness on layer 2 must be in the range [150,300]
+    ITS->SetRails(1);       // 1 --> rails in ; 0 --> rails out
+    ITS->SetCoolingFluid(1);   // 1 --> water ; 0 --> freon
+    //
+    //AliITSvPPRsymm *ITS  = new AliITSvPPRsymm("ITS","New ITS PPR detailed version with symmetric services");
+    //ITS->SetMinorVersion(2);                                       // don't touch this parameter if you're not an ITS developer
+    //ITS->SetReadDet(kFALSE);                                       // don't touch this parameter if you're not an ITS developer
+    //ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.det"); // don't touch this parameter if you're not an ITS developer
+    //ITS->SetThicknessDet1(200.);   // detector thickness on layer 1 must be in the range [100,300]
+    //ITS->SetThicknessDet2(200.);   // detector thickness on layer 2 must be in the range [100,300]
+    //ITS->SetThicknessChip1(200.);  // chip thickness on layer 1 must be in the range [150,300]
+    //ITS->SetThicknessChip2(200.);  // chip thickness on layer 2 must be in the range [150,300]
+    //ITS->SetRails(1);              // 1 --> rails in ; 0 --> rails out
+    //ITS->SetCoolingFluid(1);       // 1 --> water ; 0 --> freon
+    //
+    //
+    // Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful 
+    // for reconstruction !):
+    //                                                     
+    //
+    //AliITSvPPRcoarseasymm *ITS  = new AliITSvPPRcoarseasymm("ITS","New ITS PPR coarse version with asymmetric services");
+    //ITS->SetRails(1);                // 1 --> rails in ; 0 --> rails out
+    //ITS->SetSupportMaterial(0);      // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
+    //
+    //AliITS *ITS  = new AliITSvPPRcoarsesymm("ITS","New ITS PPR coarse version with symmetric services");
+    //ITS->SetRails(1);                // 1 --> rails in ; 0 --> rails out
+    //ITS->SetSupportMaterial(0);      // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
+    //                      
+    //
+    //
+    // Geant3 <-> EUCLID conversion
+    // ============================
+    //
+    // SetEUCLID is a flag to output (=1) or not to output (=0) both geometry and
+    // media to two ASCII files (called by default ITSgeometry.euc and
+    // ITSgeometry.tme) in a format understandable to the CAD system EUCLID.
+    // The default (=0) means that you dont want to use this facility.
+    //
+    ITS->SetEUCLID(0);  
+  }
+  
 
     if (iTPC)
     {
@@ -284,7 +284,7 @@ void Config()
     {
         //=================== ZDC parameters ============================
 
-        AliZDC *ZDC = new AliZDCv1("ZDC", "normal ZDC");
+        AliZDC *ZDC = new AliZDCv2("ZDC", "normal ZDC");
     }
 
     if (iCASTOR)
@@ -316,7 +316,11 @@ void Config()
         //=================== FMD parameters ============================
 
         AliFMD *FMD = new AliFMDv1("FMD", "normal FMD");
-    }
+        FMD->SetRingsSi1(128);
+        FMD->SetRingsSi2(64);
+        FMD->SetSectorsSi1(20);
+        FMD->SetSectorsSi2(24);
+   }
 
     if (iMUON)
     {
@@ -345,6 +349,12 @@ void Config()
 
     }
 
+    if (iEMCAL && !iRICH)
+    {
+        //=================== EMCAL parameters ============================
+        AliEMCAL *EMCAL = new AliEMCALv1("EMCAL", "EMCALArch1a");
+    }
+
     if (iSTART)
     {
         //=================== START parameters ============================
@@ -353,3 +363,7 @@ void Config()
 
 
 }
+
+Float_t EtaToTheta(Float_t arg){
+  return (180./TMath::Pi())*2.*atan(exp(-arg));
+}