pixel geometry - code changes

chain working in starnew (SL08d):

 

BFC:WARN  - StBFChain::Setup

QA :INFO  - ==============================================

QA :INFO  - ============= You are in SL08d ===============

QA :INFO  - Requested chain bfc is : trs,ssd,upgr15,pixFastSim,Idst,IAna,l0,tpcI,fcf,Tree,logger,ITTF,Sti,StiRnd,PixelIT,-IstIT,StiPulls,genvtx,NoSvtIt,SsdIt,MakeEvent,McEvent,geant,evout,IdTruth,bbcSim,emcY2,EEfs,big,-dstout,fzin,McEvOut,clearmem

 

 

The rest of the code is at :

/star/institutions/emn/bouchet/myPixel_SL08d/

StRoot/StiRnd

StRoot/StPixelFastSimMaker

StRoot/StMcEvent

StarDb/VmcGeometry

StarDb/Calibration/tracker

 

changes to the code

a) StMcEvent/StMcPixelHit.cc

 for the decoding of layer and ladder when reading the g2t table
StMcPixelHit::layer() const
{
  // 3 modules of 11 ladders each; 8 outer and 3 inner ladder per module
  // layer 1 : ladder 1 -  9
  // layer 2 : ladder 1 - 24
  // layer 1 : ladder 1 -  10 JB
  // layer 2 : ladder 1 - 30  JB
  unsigned long iLayer  = mVolumeId/1000000;
   return iLayer;
}

unsigned long
StMcPixelHit::ladder() const
{
  // 3 modules of 11 ladders each; 8 outer and 3 inner ladder per module
  // layer 1 : ladder 1 -  9
  // layer 2 : ladder 1 - 24
  // layer 1 : ladder 1 -  10 JB
  // layer 2 : ladder 1 - 30  JB
  unsigned long iLadder = (mVolumeId%1000000)/10000;
  return iLadder;
}

b) StMcEvent/StMcIstHit.cc

//jb : 1<= Module <= 24
//      1<= ladder <= 12
unsigned long
StMcIstHit::layer() const
{   
  unsigned long iLayer = mVolumeId/1000000;
  unsigned long layer;
  layer = iLayer -1;
  return layer;
}


unsigned long
StMcIstHit::ladder() const
{
  unsigned long iModule = (mVolumeId%1000000)/10000;
   return iModule-1;
}

c) StMcEvent/StMcIstHitCollection.h

  //enum { mNumberOfLayers = 3 };
  //jb layer means ladder for upgr15  :only one layer
    enum { mNumberOfLayers = 24 };
    StMcIstLayerHitCollection mLayers[mNumberOfLayers];
    ClassDef(StMcIstHitCollection,1)
};

d) IST hit issue 

I compared the ZGlobal and ZLocal of hits, with the Zposition of wafers from which they supposed to belong.

The Zposition of wafers comes from :

 

double angle    = detector->getPlacement()->getNormalRefAngle();

double radius   = detector->getPlacement()->getNormalRadius();

double zcenter  = detector->getPlacement()->getZcenter();

The position of hits come from :

pos[2] = hit->position().z(); (GLOBAL)

localpos[0]=0;

localpos[1]=0;

localpos[2]=0;

gGeoManager->GetCurrentMatrix()->MasterToLocal(pos,localpos); (LOCAL)

 

e) Results for fews hits (The hits taken in tracking are only those for wafer = 9)

 

 

StiMaker:INFO  - StiPixelHitLoader:loadHits -I- Loaded 40 pixel hits.

StiMaker:INFO  - StiIstHitLoader::loadHits(StEvent*) -I- Started

StiMaker:DEBUG - StiIstHitLoader: RnD Hits: 61

StiMaker:DEBUG -  before :size of hit container = 2319

StiMaker:DEBUG - StiIstHitLoader: hit has ladder: 1; wafer: 5 layer = 0

StiMaker:DEBUG - StiIstHitLoader: hit volume id: 2050000

StiMaker:DEBUG -  in getDetector() : row = 1 sector = 5 detector size = 25 _detector[row].size() = 13 detector[row][size] = 0x1036edbc

StiIstHitLoader: add hit to detector: /HALL_1/CAVE_1/IBMO_1/IBMY_1/IBAM_1/IBLM_5/IBSS_1

StiMaker:DEBUG -  radius = 14 angle = 0.261799 zCenter = -6.06

StiMaker:DEBUG -  depth = 24.24 Width = 1.84115 thickness= 0.015

StiMaker:DEBUG - StiIstHitLoader: hit has position (13.8281,2.4867,-8.0355)

StiMaker:DEBUG - Path: /HALL_1/CAVE_1/IBMO_1/IBMY_1/IBAM_1/IBLM_5/IBSS_1

StiMaker:DEBUG - local x: 1.177 local y: 0.000497045 local z: -1.9755

StiMaker:DEBUG -  ZGlobal - Zlocal = -6.06

StiMaker:DEBUG - StiIstHitLoader: hit has ladder: 2; wafer: 4 layer = 0

StiMaker:DEBUG - StiIstHitLoader: hit volume id: 3040000

StiMaker:DEBUG -  in getDetector() : row = 2 sector = 4 detector size = 25 _detector[row].size() = 13 detector[row][size] = 0x1036e9f4

StiIstHitLoader: add hit to detector: /HALL_1/CAVE_1/IBMO_1/IBMY_1/IBAM_2/IBLM_4/IBSS_1

StiMaker:DEBUG -  radius = 14 angle = 0.523599 zCenter = -10.1

StiMaker:DEBUG -  depth = 24.24 Width = 1.84115 thickness= 0.015

StiMaker:DEBUG - StiIstHitLoader: hit has position (11.9803,7.25053,-10.4625)

StiMaker:DEBUG - Path: /HALL_1/CAVE_1/IBMO_1/IBMY_1/IBAM_2/IBLM_4/IBSS_1

StiMaker:DEBUG - local x: -0.289002 local y: 0.000496015 local z: -0.362501

StiMaker:DEBUG -  ZGlobal - Zlocal = -10.1

StiMaker:DEBUG - StiIstHitLoader: hit has ladder: 3; wafer: 9 layer = 0

StiMaker:DEBUG - StiIstHitLoader: hit volume id: 4090000

StiMaker:DEBUG -  in getDetector() : row = 3 sector = 9 detector size = 25 _detector[row].size() = 13 detector[row][size] = 0x1036e41c

StiIstHitLoader: add hit to detector: /HALL_1/CAVE_1/IBMO_1/IBMY_1/IBAM_3/IBLM_9/IBSS_1

StiMaker:DEBUG -  radius = 14 angle = 0.785398 zCenter = 10.1

StiMaker:DEBUG -  depth = 24.24 Width = 1.84115 thickness= 0.015

StiMaker:DEBUG - StiIstHitLoader: hit has position (9.72095,10.0787,8.4595)

StiMaker:DEBUG - Path: /HALL_1/CAVE_1/IBMO_1/IBMY_1/IBAM_3/IBLM_9/IBSS_1

StiMaker:DEBUG - local x: -0.253 local y: 0.000499366 local z: -1.6405

StiMaker:DEBUG -  ZGlobal - Zlocal = 10.1

 

  •  ZPosition_wafer = ZGlobal - ZLocal 
  • no differences between hits used in tracking and hits rejected

 

List of detector information (from StiPixelDetectorBuilder) for Pixel : here

List of detector information (from StiIstDetectorBuilder) for Ist : here

part of log from StiKalmanTrackFinder that shows that the expected IST hits has also the correct ZGlobal positions (following HFT meeting10/03) : here which has to be compared with the list of IST hits sorted in StiIstHitLoader : here