How to read MuDSTs

One example can be found in

StRoot/StFgtPool/StFgtClusterTools/

look at StFgtGenAVEMaker, StFgtGenPlotter and StFgtClusterPlotter. 

The first two inherit from StFgtGeneralBase which reads in a MuDST or StEvent and fills the array of vectors. The StFgtClusterPlotter only reads in StEvents.

That means that you have to have the rawDaqReader and a2cmaker and clusterMaker in the chain, if you want to have access to those.

In the StFgtClusterTools/macros/ is one macro that does that (agvEffs.C) and one that reads in MuDsts (runMuDstAVEff.C)

 

The array of vectors that you have access to if you inherit from StFgtGeneralBase are

pStrips and pClusters  with  objects of type generalStrip and generalCluster.

Look in StFgtGeneralBase.h for the available fields in these objects. You can access the center strip from cluster. To get more info, i.e. on electronics coordinates, you can use the functions found in 

the database of class StFgtDb. The StFgtGeneralBase has already a pointer to it that you can use in your derived class. The functionality provided can be found in StRoot/StFgtDBMaker/StFgtDb.h.

Other useful functions related to geometry are static functions in StRoot/StFgtUtil/geometry/StFgtGeom.h.

 

The Strip vector is indexed by iD*4+iQ where iD is the disk counting from 0 to 5 and iQ is the quadrant going from 0 to 3.

Your derived class functions Make(), Init() and Finish() will be called, you have to call the base classes functions first in each of these functions.

 

Check out the code via:

mkdir myDir

cd myDir

cvs co StRoot/StFgtPool/

cvs co offline/StFgtDevel/StRoot/StMuDSTMaker //this is still the old one (not reviewed yet)

mv offline/StFgtDevel/StRoot/StMuDSTMaker StRoot/

starver dev

cons

This should compile

 

you can run the code by using the chain in 

StRoot/StFgtPool/StFgtClusterTools/macros/runMuDstAVEff.C

just change the chain to your liking. Especially replace the maker fgtAVEffMaker with your new one.

You can run your chain over data. E.g. the HV scan data that is at the moment (and for the next ~30 days) here:

/star/data06/FGT/[A,B,C,D,E] (ascending 50, 100, 150, 200 , 250), so the +200 data is in D.

To use this data do:

klog // I think to access the star disk)

create a list file:

find /star/data06/FGT/D > runHV200.list

run the chain:

starver dev //you have done this before compiling but in case you are in another terminal

cd myDir/   //need to be in root dir so the libraries are found

root4star -b -q StRoot/StFgtPool/StFgtClusterTools/macros/runMuDstAVEff.C'("runHV200.list","",,[numberOfEvents])'