From 1ad78f5796e0f6fae3ef2e08c45b9ece5e276bb0 Mon Sep 17 00:00:00 2001 From: auras Date: Thu, 11 Sep 2014 01:20:48 +0200 Subject: [PATCH] New geometry setup. Bug fixed in AliMFT (string manipulation in StepManager) --- MFT/AliMFT.cxx | 23 +++++++++++------------ MFT/AliMFTConstants.cxx | 6 +++--- MFT/AliMFTGeometry.root | Bin 7449 -> 7399 bytes MFT/SetMFTGeometry.C | 26 +++++++++++++------------- 4 files changed, 27 insertions(+), 28 deletions(-) diff --git a/MFT/AliMFT.cxx b/MFT/AliMFT.cxx index 38e295abbc9..9445b0d1eab 100644 --- a/MFT/AliMFT.cxx +++ b/MFT/AliMFT.cxx @@ -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 diff --git a/MFT/AliMFTConstants.cxx b/MFT/AliMFTConstants.cxx index 72065fba475..e3d74cd21d9 100644 --- a/MFT/AliMFTConstants.cxx +++ b/MFT/AliMFTConstants.cxx @@ -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 diff --git a/MFT/AliMFTGeometry.root b/MFT/AliMFTGeometry.root index f5dd84ba3ca3984bc58c29ec165e14c40a26f431..8b0007dc9469fb6abe42dc5463084761eaba16f0 100644 GIT binary patch delta 2004 zcmaJ?3pkWn7(T;{61Ipm%;Z*$O)AD@N|>o!y0{feGHubM#2ArW#y`3cnl$}Nrpav) z6^RN7nWz=RsAxR76gH${%dIxqf2L(UcH8qj@Be@2ocI0S|D69k-$`2Av&J%j!3YFE zlm-Cs0sz;8ARCD-5ugxkMt=|HGy|aQ0#LhaJFcx+q1>IQjzR&be1J<`ssun3kkFj$ zU6?uC01I2mTLNT^CCPyR$t`I(gMX*^J~Q?7mVJlBs?uCz6cY^6@dg4i00Ju_QQ%Cc z3t|u?CGn7n{r_-*(_{wJHrO9!Bo*!ll=(#B6t*KVolgIuun2CM5>mARpz0$qO5#yz zbUHP#PKXG7raA6F`qCzYgKx=bz`JGeQdb{fX3931355CI;%G!{`u{@zX|B8fHU%;t zVQtxU7|90t!+T}bG?0Kfjp#8+l-&m>$eK$Xn81>a{M;G%q3{_jk2aS&Fee=Xra90i z9nc%$2(*RNApn>M3F2o0A+n|k4^9d1!b9jyQU?~7x==lQ8p(T-gdxH~7+Y!faA3aI zCT}JXV&pWT@09Q+JdCkJVPFf4rYbs1a!9f7r3Z7P)&~t4ar8HBo7PHsOjmaeIgl4iSG*NhZ!#{#;jVBSd2Hq(KjqcGi}S( z0gCO`4#8e|+=dtkN-)kJeSOG)yk}3SkWta~xG^l=wc(0+Q0PUT+x5;fW%@A+d_6Hl z5gHEU7ip~zSzDrHaG}jU^IJzVFA}aGutu_i2c8shMn>XOw6=M?JT%;qVCHa>atA64 z+~;mEw|TKPvs*!K@4mF-#+fTrGA)}1Gk0~L;$+>Mz-(8!1Ua#rP8%~8-H&)O*VD4V z&}Au^q+XmRx2%yU<_#`9rt5luWcTdg=2y4Sd{SZN>qE_{J5paOalY^ea+{lqH8$Tb z2bDfD_%cz>wiP3TmU=43mX-2s()IMqM=G)&1g(m4wpbILIi&Yf-shG-xfvCnq9DZTlV%>Tf--dNje4N4ftsIE1+?SV zgf-|uR;Pbye8zEqZZe12ew3VCRy@`BPU_GYnRsyOGb8(Qz7 z%Iq2T%K|-|i@me+GjbfGQxg}@QJjyNrKWSD+QHNhtB!rbC`IyMFDfdO2bZ+jaVzz^ zH*zc0Fs8l%HG>=K6H23D#aVSVj*WzeNBV4_D!p%^rp0gWjJ2_hyfK`k;_Fy>yzYrr z>83p`gL(aji@oZjOovhbI4>%In3mdy(x~iyx^gk$kicZS_fVp1hO8 z{C!!`^GMJg{O93p{38}8K=o=A%P#OlJKyB9$O;yVGBOVa$RnwGABIs z=htey`eV3ct50=@G@k2mvr8^92}uq-%nf zy6CdSw@|&&6)BwUaq}KqTS->WT-G32y$-Wpqtlthq&dt#aJSF5?)nQAg$TV7fkE3v zbzzuM2O+x2)$D%3I)65V!<_QtrTRU+46jcq*1x@9U)5($?t0M{l_l&*sv?d;u=>rb z>sQU9Gn}n^Bx~h9=sUb%h@sY++%XnbY*rco|9U@7Fa0c)oP8%z| WfPYZ6$kXZB2whJO*Aq-i0Dl3r#`+fk delta 2048 zcmah~4LH+z9RJN`beU@!YmBaF=}0GydEdMgF`<^nuv9MZW@~bBEXh)?;#Q|E2^G?t zo?hIoM(6I-WQKB7G)C!!DaFFo{kKY<=R9}+=lT4h4zyoSp zkpGa?z5=$JkGiS>t!1b^AVA*g3m@@siw`?9_XPM5G+w0fQjtkWXp#Wx?E$FwwzI3> zv|~s8c7d?|00e>e$6cPXwFQ^7Wl>^oNc6Lx2b5?o?G}l~Omi$sJV}78Psm6c_oZ$w{xd5@}HYkJ) z9R6R-nUx;?F&w~=d_A~}w)(|!_^S|xd@@1@n=*?TF~dyb55tZ5Kf%p4Q7OR9zeze5 zAi>-QO31)f6O}R(wQE)s<5LtOiqAl}X<~K(SM!c9<^n{{nk9~%5kKO$Abd43Sp^h4 zcF!zQ%qNm|7@w-`qe<8UT)zxoF&7|m&Ma}_jQBBMqD|E#7#+{bp$%c(O-$Pc9-=ze{D3pT8jad5&kcSE)gVQLUhfQ%LMv z95K~{{Wf}BEO3yYm=K4iue24Tme^*%_gf@mxQ6e7s%{tWAKaRJ;}?}^aa~`9Wa`KR zS&&=44g;Pp14$})E^0Uzp|1>AQ7>uK-8wP=xSoG?Wq5S<~Wc0^OlXqAe)5`+mg@5 zv{cC`Haa(FhO#38!8FfaXb zYjT4%>&cFE{|c2QVhTs^Z+*2^Dw6lpi#WYTD642Q8ry1s9dIv2@ZgE$jlCe8xiMfZ z8$}+968kdgau8@p?a5+-{+s-M;!dvVyJ^$HAq|HRdUaBhg9 z41Kjqu~BqzOHQP_r@ou{d#oes+aHr`?;i?lptUM+6GBfqk~$fDBhQbGX-{-W9`co$ z4?OcvYI9$_`ua$(L0LmpknFj$sO^+AWHO6GjEOij{pL-Y70P~E@wZRgDPztGv15E@ zH*IX-0Hb~S)}^PmX>2O)Swr7qvHHUx@M+HUZTaqgEaMqcSPv_n0 zr;MFG_e!FUPl)|k&g+n;^A~y}Loi*}B+Gs~4M&p1O%t= zC)P>*n>N36;M+VrZf(pCMkoB_rAt;?$ozONve;Km&m?2}wx^pgUc{|B zf!9uPA{^BhJDwXW$a6YS+H6QYIe)?HAOAp>VBaz916Fz#=?_dCW1%a?cgfG{n35Gm z_P?KtSKKOC-rQ7G<5t1&Ynrl; vp*92u^L4Kdec_AN(<~9yoe3Yor{D<-=k8df*~CW>@vC`|#1xlGJPQ5+T9^U^ diff --git a/MFT/SetMFTGeometry.C b/MFT/SetMFTGeometry.C index d5ee8e9e218..119f600be10 100644 --- a/MFT/SetMFTGeometry.C +++ b/MFT/SetMFTGeometry.C @@ -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"); -- 2.43.0