]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
New geometry setup. Bug fixed in AliMFT (string manipulation in StepManager)
authorauras <antonio.uras@cern.ch>
Wed, 10 Sep 2014 23:20:48 +0000 (01:20 +0200)
committerauras <antonio.uras@cern.ch>
Wed, 10 Sep 2014 23:20:48 +0000 (01:20 +0200)
MFT/AliMFT.cxx
MFT/AliMFTConstants.cxx
MFT/AliMFTGeometry.root
MFT/SetMFTGeometry.C

index 38e295abbc9828ae03f5d58efba61fc6c32c252b..9445b0d1eab7b881db17c91215d1e67af360b529 100644 (file)
@@ -63,7 +63,7 @@ AliMFT::AliMFT():
   fChargeDispersion(25.e-4),
   fSingleStepForChargeDispersion(0),
   fNStepForChargeDispersion(4),
-  fDensitySupportOverSi(0.15),
+  fDensitySupportOverSi(0.05),
   fFileNameForUnderyingEvent(0), 
   fFileNameForPileUpEvents(0),
   fNPileUpEvents(0), 
@@ -93,7 +93,7 @@ AliMFT::AliMFT(const Char_t *name, const Char_t *title):
   fChargeDispersion(25.e-4),
   fSingleStepForChargeDispersion(0),
   fNStepForChargeDispersion(4),
-  fDensitySupportOverSi(0.15),
+  fDensitySupportOverSi(0.05),
   fFileNameForUnderyingEvent(0), 
   fFileNameForPileUpEvents(0),
   fNPileUpEvents(0), 
@@ -126,7 +126,7 @@ AliMFT::AliMFT(const Char_t *name, const Char_t *title, Char_t *nameGeomFile):
   fChargeDispersion(25.e-4),
   fSingleStepForChargeDispersion(0),
   fNStepForChargeDispersion(4),
-  fDensitySupportOverSi(0.15),
+  fDensitySupportOverSi(0.05),
   fFileNameForUnderyingEvent(0), 
   fFileNameForPileUpEvents(0),
   fNPileUpEvents(0), 
@@ -278,17 +278,16 @@ void AliMFT::StepManager() {
 
   AliDebug(2, Form("Entering StepManager: TVirtualMC::GetMC()->CurrentVolName() = %s", TVirtualMC::GetMC()->CurrentVolName()));
 
-  if (!fSegmentation) AliFatal("No segmentation available");    // DO WE HAVE A SEGMENTATION???
+  if (!fSegmentation) AliFatal("No segmentation available");
 
   if (!(this->IsActive())) return;
   if (!(TVirtualMC::GetMC()->TrackCharge())) return;
 
   TString planeNumber   = TVirtualMC::GetMC()->CurrentVolName();
   TString detElemNumber = TVirtualMC::GetMC()->CurrentVolName();
-  if (planeNumber.Contains("support")) return;
-  if (planeNumber.Contains("readout")) return;
+  if (!(planeNumber.Contains("active"))) return;
   planeNumber.Remove(0,9);
-  detElemNumber.Remove(0,19);
+  detElemNumber.Remove(0,18);
   planeNumber.Remove(2);
   detElemNumber.Remove(3);
   Int_t detElemID = fSegmentation->GetDetElemGlobalID(planeNumber.Atoi(), detElemNumber.Atoi());
@@ -360,11 +359,11 @@ TGeoVolumeAssembly* AliMFT::CreateVol() {
   TGeoMedium *silicon = gGeoManager->GetMedium("MFT_Si");
   TGeoMedium *readout = gGeoManager->GetMedium("MFT_Readout");
   TGeoMedium *support = gGeoManager->GetMedium("MFT_Support");
-  TGeoMedium *carbon = gGeoManager->GetMedium("MFT_Carbon");
-  TGeoMedium *alu = gGeoManager->GetMedium("MFT_Alu");
-  TGeoMedium *water = gGeoManager->GetMedium("MFT_Water");
-  TGeoMedium *si02 = gGeoManager->GetMedium("MFT_SiO2");
-  TGeoMedium *inox = gGeoManager->GetMedium("MFT_Inox");
+  TGeoMedium *carbon  = gGeoManager->GetMedium("MFT_Carbon");
+  TGeoMedium *alu     = gGeoManager->GetMedium("MFT_Alu");
+  TGeoMedium *water   = gGeoManager->GetMedium("MFT_Water");
+  TGeoMedium *si02    = gGeoManager->GetMedium("MFT_SiO2");
+  TGeoMedium *inox    = gGeoManager->GetMedium("MFT_Inox");
 
   // ---- Cage & Services Description --------------------------------------------
   // R. Tieulent - 17/01/2014 - Basic description for ITS/TPC matching studies
index 72065fba4751973bad57702bde94274f8afa330e..e3d74cd21d95282c461b60ec282a175cf68469af 100644 (file)
@@ -31,16 +31,16 @@ const Double_t AliMFTConstants::fCutForAttachingDigits = 1.;
 
 const Double_t AliMFTConstants::fElossPerElectron = 3.62e-09;
 
-const Double_t AliMFTConstants::fActiveSuperposition = 0.05;
+const Double_t AliMFTConstants::fActiveSuperposition = 0.45;
                                  
-const Double_t AliMFTConstants::fHeightActive = 0.5;
+const Double_t AliMFTConstants::fHeightActive = 1.3;
 const Double_t AliMFTConstants::fHeightReadout = 0.3;
 
 const Double_t AliMFTConstants::fSupportExtMargin = fHeightReadout + 0.3;
 
 const Double_t AliMFTConstants::fRadLengthSi = 9.37;
 
-const Double_t AliMFTConstants::fWidthChip = 1.0;
+const Double_t AliMFTConstants::fWidthChip = 3.0;
 
 const Double_t AliMFTConstants::fPrecisionPointOfClosestApproach = 10.e-4;  // 10 micron
 
index f5dd84ba3ca3984bc58c29ec165e14c40a26f431..8b0007dc9469fb6abe42dc5463084761eaba16f0 100644 (file)
Binary files a/MFT/AliMFTGeometry.root and b/MFT/AliMFTGeometry.root differ
index d5ee8e9e2181fb1b613c744dc6bbebb7bc53054a..119f600be10932ba57cbfafa55849a495b277f18 100644 (file)
@@ -8,25 +8,25 @@
 
 void SetMFTGeometry() {
 
-  const Int_t nPlanes = 6;
+  const Int_t nPlanes = 5;
   
-  const Float_t zCenter[nPlanes]          = {  -45.5,   -49.3,   -53.1,   -56.9,   -68.8,    -76.8 };   // expressed in cm
+  const Float_t zCenter[nPlanes]          = {  -46.0,   -49.3,   -53.1,   -68.7,   -76.8 };   // expressed in cm
                                          
-  const Float_t rMin[nPlanes]             = {   2.50,    2.50,    2.50,    3.00,    3.50,     3.90 };   // expressed in cm  
-  const Float_t rMax[nPlanes]             = {  10.80,   11.50,   12.30,   13.00,   15.30,    16.90 };   // expressed in cm
+  const Float_t rMin[nPlanes]             = {   2.30,    2.30,    2.30,    3.30,    3.60 };   // expressed in cm  
+  const Float_t rMax[nPlanes]             = {  10.00,   10.50,   11.10,   13.90,   15.30 };   // expressed in cm
 
-  const Float_t pixelSizeX[nPlanes]       = { 20.e-4,  20.e-4,  20.e-4,  20.e-4,  20.e-4,   20.e-4 };   // expressed in cm
-  const Float_t pixelSizeY[nPlanes]       = { 20.e-4,  20.e-4,  20.e-4,  20.e-4,  20.e-4,   20.e-4 };   // expressed in cm
+  const Float_t pixelSizeX[nPlanes]       = { 28.e-4,  28.e-4,  28.e-4,  28.e-4,  28.e-4 };   // expressed in cm
+  const Float_t pixelSizeY[nPlanes]       = { 28.e-4,  28.e-4,  28.e-4,  28.e-4,  28.e-4 };   // expressed in cm
 
-  const Float_t thicknessActive[nPlanes]  = {  50.e-4,   50.e-4,   50.e-4,   50.e-4,   50.e-4,   50.e-4 };   // expressed in cm
-  const Float_t thicknessSupport[nPlanes] = {2000.e-4, 2000.e-4, 2000.e-4, 2000.e-4, 2000.e-4, 2000.e-4 };   // expressed in cm
-  const Float_t thicknessReadout[nPlanes] = {  50.e-4,   50.e-4,   50.e-4,   50.e-4,   50.e-4,   50.e-4 };   // expressed in cm
+  const Float_t thicknessActive[nPlanes]  = {  50.e-4,   50.e-4,   50.e-4,   50.e-4,   50.e-4 };   // expressed in cm
+  const Float_t thicknessSupport[nPlanes] = {   1.   ,    1.   ,    1.   ,    1.   ,    1.    };   // expressed in cm
+  const Float_t thicknessReadout[nPlanes] = {  50.e-4,   50.e-4,   50.e-4,   50.e-4,   50.e-4 };   // expressed in cm
 
-  const Float_t equivalentSilicon[nPlanes]            = { 400.e-4, 400.e-4, 400.e-4, 400.e-4, 400.e-4, 400.e-4 };    // expressed in cm
-  const Float_t equivalentSiliconBeforeFront[nPlanes] = {   0.e-4,   0.e-4,   0.e-4,   0.e-4,   0.e-4,   0.e-4 };    // expressed in cm
-  const Float_t equivalentSiliconBeforeBack[nPlanes]  = { 350.e-4, 350.e-4, 350.e-4, 350.e-4, 350.e-4, 350.e-4 };    // expressed in cm
+  const Float_t equivalentSilicon[nPlanes]            = { 600.e-4, 600.e-4, 600.e-4, 600.e-4, 600.e-4 };    // expressed in cm
+  const Float_t equivalentSiliconBeforeFront[nPlanes] = {   0.e-4,   0.e-4,   0.e-4,   0.e-4,   0.e-4 };    // expressed in cm
+  const Float_t equivalentSiliconBeforeBack[nPlanes]  = { 550.e-4, 550.e-4, 550.e-4, 550.e-4, 550.e-4 };    // expressed in cm
 
-  const Float_t hasPixelRectangularPatternAlongY[nPlanes] = {0., 0., 0., 0., 0., 0.};
+  const Float_t hasPixelRectangularPatternAlongY[nPlanes] = {0., 0., 0., 0., 0.};
                                         
   TNtuple *geomMFT = new TNtuple("AliMFTGeometry", "ALICE MFT Geometry", "zCenter:rMin:rMax:pixelSizeX:pixelSizeY:thicknessActive:thicknessSupport:thicknessReadout:equivalentSilicon:equivalentSiliconBeforeFront:equivalentSiliconBeforeBack:hasPixelRectangularPatternAlongY");