32 cout <<
"////////////////////////////////////////////////////////////////"<<endl;
34 cout <<
"// macro: clusterDisplay.C"<<endl;
35 cout <<
"// author: A.A.P.Suaide (2005)"<<endl;
37 cout <<
"// This macro loops over events in the muDST files, run the"<<endl;
38 cout <<
"// BEMC cluster finder and creates an event by event display"<<endl;
39 cout <<
"// of the hits and clusters in the detector. This is an important"<<endl;
40 cout <<
"// tool for cluster QA because you can test the cluster"<<endl;
41 cout <<
"// parameters and check the results online."<<endl;
43 cout <<
"// it also has a method to do statistical cluster QA over many"<<endl;
44 cout <<
"// events"<<endl;
46 cout <<
"////////////////////////////////////////////////////////////////"<<endl;
48 cout <<
"The commands available are:"<<endl;
50 cout <<
" setHitThreshold(Int_t det, Float_t th)"<<endl;
51 cout <<
" // This method defines the energy threshold for displaying"<<endl;
52 cout <<
" // a detector HIT in the display. The default value in the"<<endl;
53 cout <<
" // code is 0.2 GeV. Values should de entered in GeV."<<endl;
55 cout <<
" // the parameters are:"<<endl;
56 cout <<
" // Int_t det = detector name. (BTOW = 1, BPRS = 2, BSMDE = 3 and BSMDP = 4)"<<endl;
57 cout <<
" // Int_t th = hit energy threshold in GeV"<<endl;
59 cout <<
" next()"<<endl;
60 cout <<
" // This method displays the next event in the queue"<<endl;
62 cout <<
" qa(Int_t nevents)"<<endl;
63 cout <<
" // This method loops over many events in order to fill some"<<endl;
64 cout <<
" // clusters QA histograms. The user needs to open a TBrowser"<<endl;
65 cout <<
" // in order to access the histograms"<<endl;
67 cout <<
" // the parameters are:"<<endl;
68 cout <<
" // Int_t nevents = number of events to be processed in QA"<<endl;
70 cout <<
" help()"<<endl;
71 cout <<
" // Displays this help"<<endl;
82 void setHitThreshold(Int_t det, Float_t th)
84 t->setHitThreshold(det,th);
85 cout <<
"\nThreshold in detector = "<<det<<
" changed to "<<th<<
" GeV."<<endl;
86 cout <<
"This will have effect only in the next event displayed."<<endl;
87 cout <<
"\n******* TYPE next() for the next event\n";
88 cout <<
"******* TYPE help() for help about the methods available\n";
101 cout <<
"Finished processing event number "<<n <<endl;
102 memory.PrintMem(NULL);
105 cout <<
"\n******* TYPE next() for the next event\n";
106 cout <<
"******* TYPE help() for help about the methods available\n";
116 void qa(Int_t nevents = 100)
121 while ( (stat==0 || stat==1) && n<nevents)
124 stat = chain->
Make();
127 cout <<
"Finished processing event number "<<n <<endl;
128 memory.PrintMem(NULL);
132 cout <<
"\n******* TYPE help() for help about the methods available\n";
146 void clusterDisplay(
char* list =
"./file.lis",Int_t nFiles = 10)
148 gROOT->LoadMacro(
"$STAR/StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
149 loadSharedLibraries();
150 gSystem->Load(
"StDbBroker");
151 gSystem->Load(
"St_db_Maker");
152 gSystem->Load(
"StDaqLib");
153 gSystem->Load(
"StEmcRawMaker");
154 gSystem->Load(
"StEmcADCtoEMaker");
156 gStyle->SetOptStat(0);
159 chain =
new StChain(
"StChain");
void setPrint(Bool_t)
Obsolete function; users can control messages with logger config file.
virtual void Clear(Option_t *option="")
User defined functions.