GMT code

My version of the code can be found in :  

/star/u/mvandenb/GMT

!! This code has not been cross-checked

How to :
It should compile and run in SL13b. (command : 
starver SL13b)

Here is an example of running on a physics file:

       root4star -b -q -l bfc.C\(5000,\"pp2012b,VFPPVnoCTB,beamline,gmt,gmtutil\",\"/star/data03/daq/2013/109/14109022/st_physics_14109022_raw_4580001.daq\"\)

    root4star -b -q -l bfc.C\(5000,\"pp2012b,VFPPVnoCTB,beamline,gmt,gmtutil\",\"/star/data03/daq/2013/146/14146001/st_physics_14146001_raw_1010001.daq\"\)

Here is an example of running on a cosmic ray file:

       root4star -b -q -l bfc.C\(5000,\"pp2012b,gmt,gmtutil,mtdDat,btof,BEmcChkStat,Corr4,SCScalerCal,\-hitfilt\",\"/star/data03/daq/2013/046/14046103/st_cosmic_14046103_raw_3020001.daq\"\)

(with 5000 the number of max events)

This creates event.root files and treeGMT.root that contains informations at the detector level (ADC values, pedetals, cluster...).

To produce residuals plots (saved in 
clusterPlotter.root), one have to run :

     root4star -b -q -l 'doEvents_SCGL_Calib.C(2000,"yourfile.event.root")'

 

Code Organisation :

Decoding : From DAQ
 files to GMT hits
StRoot/StGmtRawMaker/StGmtRawMaker.{cxx,h}

Clustering and pedestal substration :
Maker : 
StRoot/StGmtClusterMaker/StGmtClusterMaker.{cxx,h}
Clustering algo : StRoot/StGmtClusterMaker/StGmtSimpleClusterAlgo.{cxx,h}

Residuals :
StRoot/StGmtPlotter/StGmtClusterPlotter.{cxx.h}

Macro for residual :

doEvents_SCGL_Calib.C (important line : StGmtClusterPlotter* clusPlot=new StGmtClusterPlotter("GmtClusterPlotter");)

Geometry : 
StRoot/StGmtUtil/geometry/

Object classes : 
StRoot/StEvent/
GMT HIt (Strip nb, Adc timebins) -> StGmtStrip{h.cxx}, StGmtStripCollection
GMT
 Cluster (X,Y adc) -> StGmtHit.{h,cxx}, StGmtHitCollection 

Object Trivia (object only used to store GMT
 information into a tree for debugging purposes) : StRoot/StGmtClusterMaker/
StGmtTrivia.{cxx,h}

GMT related constant numbers (number of channels...) : StEvent/StEnumations.h


Utils :
Job submission for decoding : trial.xml
Job submission for residual : trialhist.xml
command :  star-submit -policy bnl_condor_cas trial.xml

Regrouping of residual files: 

haddGMThist.C
command in root :
.L haddGMThist.C++
hadd("listGMThist.txt")
with txt file containing the list of files to be merged.

To resume the GMT mapping:

Electronics channels :
1 rdo x 2 arm (0,1) x 8 apv (0,1,2,3,12,13,14,15) x 128 strips ==> 2048 channels

Divided in 8 modules (0 to 7) and 2 layers (x and y)

Module Arm mod. Apv chip Nb
0 0 0
0 0 1
1 0 2
1 0 3
2 0 12
2 0 13
3 0 14
3 0 15
4 1 0
4 1 1
5 1 2
5 1 3
6 1 12
6 1 13
7 1 14
7 1 15

One chip reads out X and Y channels (channel 0 is X, 1 is Y …).

128 channels x 0.8mm pitch =~ 10 cm per projection.