]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSv11GeometrySDD.cxx
Separating well and badly reconstructed pileup vertices. Adding statistics of associa...
[u/mrichter/AliRoot.git] / ITS / AliITSv11GeometrySDD.cxx
index dcf7fb3481b29d84b973ea7aa6b3693d8774fc45..f0a601053bd8eff20fc4d9cb1ddb3b2604b97c6c 100755 (executable)
@@ -497,11 +497,8 @@ const Double_t AliITSv11GeometrySDD::fgkSDDCableR5    =  37*fgkcm; // third part
 const Double_t AliITSv11GeometrySDD::fgkSDDCableZ5    =  65*fgkcm; // third part of "cable cone"
 
 
-
-
-
-
-
+using std::endl;
+using std::cout;
 ClassImp(AliITSv11GeometrySDD)
 
 //________________________________________________________________________
@@ -829,6 +826,7 @@ void AliITSv11GeometrySDD::CreateBasicObjects() {
   TGeoMedium *stainless       = GetMedium("AISI304L$"); // for screws
   TGeoMedium *coolerMediumSDD = GetMedium("WATER$");
   TGeoMedium *raccordMedium   = GetMedium("INOX$");  // same as AISI 316-L
+  TGeoMedium *copperMedium    = GetMedium("COPPER$");
 
   //********************************************************************
   // pieces of the carbon fiber structure
@@ -979,6 +977,14 @@ void AliITSv11GeometrySDD::CreateBasicObjects() {
   TGeoCombiTrans *bottomBeamTransf5 = new TGeoCombiTrans
     (0,-(fgkLadderHeight/2-fgkLadderBeamRadius)-dy,fgkSegmentLength/4, bottomBeamRot5);
 
+  // The ground wire running on the top vertex - M.S. 12 nov 2013
+  TGeoTube *groundWire = new TGeoTube(0, fgkEndLadderEarthCableR, fgkSegmentLength/2);
+  TGeoVolume *groundWireVol = new TGeoVolume("ITSsddGroundWire", groundWire,
+                                            copperMedium);
+  groundWireVol->SetLineColor(41); // should be something brown-ish
+  TGeoTranslation *trGroundWire = new TGeoTranslation(0,
+                              fgkLadderHeight/2-5*fgkEndLadderEarthCableR, 0);
+
   fLaddSegCommonVol[0] = cfLaddTopVol1;  fLaddSegCommonTr[0] = trTop1;
   fLaddSegCommonVol[1] = cfLaddTopVol2;  fLaddSegCommonTr[1] = trTop1;
   fLaddSegCommonVol[2] = cfLaddSideVol1; fLaddSegCommonTr[2] = ctSideR;
@@ -998,6 +1004,7 @@ void AliITSv11GeometrySDD::CreateBasicObjects() {
   fLaddSegCommonVol[16]= bottomBeam2Vol; fLaddSegCommonTr[16]= bottomBeamTransf3;
   fLaddSegCommonVol[17]= bottomBeam3Vol; fLaddSegCommonTr[17]= bottomBeamTransf4;
   fLaddSegCommonVol[18]= bottomBeam3Vol; fLaddSegCommonTr[18]= bottomBeamTransf5;
+  fLaddSegCommonVol[19]= groundWireVol;  fLaddSegCommonTr[19]= trGroundWire;
 
  
   //********************************************************************
@@ -1059,7 +1066,7 @@ void AliITSv11GeometrySDD::CreateBasicObjects() {
 
   fLadderFoot = CreateLadderFoot();
   CreateLVCard();
-  fCardHV     = CreateHVCard(0);
+  fCardHV     = CreateHVCard();
   fCardCarlos = CreateCarlosCard(0);
 
   //==================
@@ -1181,7 +1188,7 @@ void AliITSv11GeometrySDD::ShowOnePiece(TGeoVolume *moth) {
 //   TGeoVolumeAssembly *highVCard = CreateHVCard( 4 );
 //   moth->AddNode(highVCard, 1, 0);
 
-//   TGeoVolumeAssembly *supportRing = CreateSupportRing( 4 );
+//   TGeoVolumeAssembly *supportRing = CreateSupportRing();
 //   moth->AddNode(supportRing, 1, 0);
 
 //   TGeoVolume *endLadderCards = CreateEndLadderCardsV( 4 );
@@ -1906,7 +1913,7 @@ TGeoVolumeAssembly *AliITSv11GeometrySDD::CreateLadder(Int_t iLay) {
     cableHV[iSegment].SetInitialNode(virtualLadder);
   };
   Double_t x1[3], x2[3], x3[3],
-          vY[3] = {0,1,0}, vZ[3] = {0,0,1}, vYZ[3]={0,1,1};
+    vY[3] = {0,1,0}, vZ[3] = {0,0,1};
 
   x1[0] = -fgkTransitHVtailXpos;
   x2[0] = -fgkTransitHVtailXpos;
@@ -1933,7 +1940,7 @@ TGeoVolumeAssembly *AliITSv11GeometrySDD::CreateLadder(Int_t iLay) {
     cableHV[iSegment].CreateAndInsertBoxCableSegment(2,0);
   };
 
-  vYZ[2] = -1;
+  //  vYZ[2] = -1;
   x1[0] = fgkTransitHVtailXpos;
   x2[0] = fgkTransitHVtailXpos;
   x3[0] = fgkTransitHVtailXpos;
@@ -4145,7 +4152,7 @@ Int_t AliITSv11GeometrySDD::CreateLVCard() {
 }
 
 //________________________________________________________________________
-TGeoVolumeAssembly*  AliITSv11GeometrySDD::CreateHVCard(Int_t /* iLay */){
+TGeoVolumeAssembly*  AliITSv11GeometrySDD::CreateHVCard(){
   // 
   // return an assembly containing the HV card
   //
@@ -4934,13 +4941,12 @@ TGeoVolume*  AliITSv11GeometrySDD::CreateEndLadderCardsV(Int_t iLay) {
 }
 
 //________________________________________________________________________
-TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateSupportRing(Int_t iLay) {
+TGeoVolumeAssembly* AliITSv11GeometrySDD::CreateSupportRing() {
 //
 // return an assembly of the support rings, attaching the ladders to the cone 
 //
 
 
-  iLay = iLay;
 
   TGeoMedium *stainless = GetMedium("INOX$"); // To code !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   TGeoVolumeAssembly *supportRing = new TGeoVolumeAssembly("supportRing");
@@ -5435,14 +5441,14 @@ TGeoVolumeAssembly *AliITSv11GeometrySDD::CreateDetectorsAssembly(Int_t iLay) {
 //
   
   Int_t    nDetectors   = fgkLay3Ndet;
-  Double_t ladderLength = fgkLay3LadderLength;
+  //  Double_t ladderLength = fgkLay3LadderLength;
   Double_t *sensorZPos  = fLay3sensorZPos;
   TGeoVolume *sensorSDD = fSDDsensor3;
 
   if (iLay==3) {}
   else if (iLay==4) {
     nDetectors   = fgkLay4Ndet;
-    ladderLength = fgkLay4LadderLength;
+    //    ladderLength = fgkLay4LadderLength;
     sensorZPos   = fLay4sensorZPos;
     sensorSDD    = fSDDsensor4;
   } else {