00001 class StMuDstMaker;
00002 class StChain *chain;
00003 int total=0;
00004 #include <string>
00005 #include <map>
00006
00007 void Run2006SimuTriggerMaker(const char *dir ="",
00008 const char* file="/star/data32/reco/pp200/pythia6_205/above_35gev/cdf_a/y2004y/gheisha_on/p05ih/rcf1230_10_4000evts.MuDst.root",
00009 const char *fname="/star/data32/reco/pp200/pythia6_205/above_35gev/cdf_a/y2004y/gheisha_on/p05ih/rcf1230_10_4000evts.event.root",
00010 const char *filter = "")
00011 {
00012 int nevents = 10;
00013
00014 gROOT->LoadMacro("$STAR/StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
00015 loadSharedLibraries();
00016 gSystem->Load("StTpcDb");
00017 gSystem->Load("StDetectorDbMaker");
00018 gSystem->Load("StDbUtilities");
00019 gSystem->Load("StMcEvent");
00020 gSystem->Load("StMcEventMaker");
00021 gSystem->Load("StDaqLib");
00022 gSystem->Load("StEmcRawMaker");
00023 gSystem->Load("StEmcADCtoEMaker");
00024 gSystem->Load("StPreEclMaker");
00025 gSystem->Load("StEpcMaker");
00026 gSystem->Load("StEmcSimulatorMaker");
00027 gSystem->Load("StEmcUtil");
00028 gSystem->Load("StDbBroker");
00029 gSystem->Load("St_db_Maker");
00030 gSystem->Load("StEEmcUtil");
00031 gSystem->Load("StEEmcDbMaker");
00032 gSystem->Load("StEmcTriggerMaker");
00033
00034 double pi = atan(1.0)*4.0;
00035 cout << " loading done " << endl;
00036
00037 chain= new StChain("StChain");
00038 chain->SetDebug(1);
00039 gMessMgr->SwitchOff("D");
00040 gMessMgr->SwitchOff("I");
00041
00042 StIOMaker* ioMaker = new StIOMaker();
00043 ioMaker->SetFile(fname);
00044 ioMaker->SetIOMode("r");
00045 ioMaker->SetBranch("*",0,"0");
00046 ioMaker->SetBranch("geantBranch",0,"r");
00047
00048 class StMcEventMaker *mcEventMaker = new StMcEventMaker();
00049 mcEventMaker->doPrintEventInfo = false;
00050 mcEventMaker->doPrintMemoryInfo = false;
00051
00052 StMuDebug::setLevel(1);
00053 StMuDstMaker* muDstMaker = new StMuDstMaker(0,0,dir,file,filter,1e6,"MuDst");
00054
00055
00056 St_db_Maker* dbMk = new St_db_Maker("StarDb","MySQL:StarDb","MySQL:StarDb","$STAR/StarDb");
00057 dbMk->SetDateTime(20060506,214129 );
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067 chain->ls(3);
00068
00069 StDetectorDbMaker* detDbMk = new StDetectorDbMaker();
00070
00071
00072 StEEmcDbMaker* eemcb = new StEEmcDbMaker("eemcDb");
00073
00074
00075 StEmcSimulatorMaker* emcSim = new StEmcSimulatorMaker();
00076 emcSim->setCalibSpread(kBarrelEmcTowerId, 0.15);
00077 StPreEclMaker* preEcl = new StPreEclMaker();
00078
00079
00080 StEmcTriggerMaker *emcTrig = new StEmcTriggerMaker("bemctrigger");
00081
00082 chain->Init();
00083 chain->PrintInfo();
00084
00085 chain->ls(3);
00086 TChain* fileChain = muDstMaker->chain();
00087
00088
00089 int BL1_ADC[6];
00090 int hold=-1;
00091 for (Int_t iev=0;iev<nevents; iev++) {
00092 cout << "****************************************** " << endl;
00093 cout << "Working on eventNumber:\t" << iev <<"\tof:\t"<<nevents<<endl;
00094 cout << "*************************1***************** " << endl;
00095 chain->Clear();
00096 int iret = chain->Make(iev);
00097 total++;
00098 if (iret) {
00099 cout << "Bad return code!" << endl;
00100 break;
00101 }
00102
00103 cout<<" "<<endl;
00104 map<int,int>::iterator iter;
00105 map<int,int> tower;
00106 map<int,int> tpatch;
00107 map<int,int> jpatch;
00108
00109 cout<<endl;
00110 cout<<endl;
00111 cout<<" 1101 ht1 = "<<emcTrig->isTrigger(1101)<<" = "<<emcTrig->is2003HT1()<<endl;
00112 tower=emcTrig->barrelTowersAboveThreshold(1101);
00113 cout<<"Total #'s of towers="<<tower.size()<<endl;
00114 for ( iter=tower.begin();iter !=tower.end(); iter++){
00115 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00116 cout<<"old tower id="<<emcTrig->get2003HT1_ID()<<" adc="<<emcTrig->get2003HT1_ADC()<<endl;
00117 }
00118
00119 cout<<endl;
00120 cout<<endl;
00121 cout<<" 2101 ht1 = "<<emcTrig->isTrigger(2201)<<" = "<<emcTrig->is2003HT1()<<endl;
00122 tower=emcTrig->barrelTowersAboveThreshold(2201);
00123 cout<<"Total #'s of towers="<<tower.size()<<endl;
00124 for ( iter=tower.begin();iter !=tower.end(); iter++){
00125 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00126 cout<<"old tower id="<<emcTrig->get2003HT1_ID()<<" adc="<<emcTrig->get2003HT1_ADC()<<endl;
00127 }
00128
00129 cout<<endl;
00130 cout<<endl;
00131 cout<<" 2202 ht2 = "<<emcTrig->isTrigger(2202)<<" = "<<emcTrig->is2003HT2()<<endl;
00132 tower=emcTrig->barrelTowersAboveThreshold(2202);
00133 cout<<"Total #'s of towers="<<tower.size()<<endl;
00134 for ( iter=tower.begin();iter !=tower.end(); iter++){
00135 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00136 cout<<"old tower id="<<emcTrig->get2003HT2_ID()<<" adc="<<emcTrig->get2003HT2_ADC()<<endl;
00137 }
00138
00139 cout<<endl;
00140 cout<<endl;
00141 cout<<" 45201 ht1 = "<<emcTrig->isTrigger(45201)<<" = "<<emcTrig->is2004HT1()<<endl;
00142 tower=emcTrig->barrelTowersAboveThreshold(45201);
00143 cout<<"Total #'s of towers="<<tower.size()<<endl;
00144 for ( iter=tower.begin();iter !=tower.end(); iter++){
00145 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00146 cout<<"old tower id="<<emcTrig->get2004HT1_ID()<<" adc="<<emcTrig->get2004HT1_ADC()<<endl;
00147 }
00148
00149 cout<<endl;
00150 cout<<endl;
00151 cout<<" 45202 ht1 = "<<emcTrig->isTrigger(45202)<<" = "<<emcTrig->is2004HT2()<<endl;
00152 tower=emcTrig->barrelTowersAboveThreshold(45202);
00153 cout<<"Total #'s of towers="<<tower.size()<<endl;
00154 for ( iter=tower.begin();iter !=tower.end(); iter++){
00155 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00156 cout<<"old tower id="<<emcTrig->get2004HT2_ID()<<" adc="<<emcTrig->get2004HT2_ADC()<<endl;
00157 }
00158
00159 cout<<endl;
00160 cout<<endl;
00161 cout<<" 45206 jp1 = "<<emcTrig->isTrigger(45206)<<" = "<<emcTrig->is2004JP1()<<endl;
00162 jpatch=emcTrig->barrelJetPatchesAboveThreshold(45206);
00163 cout<<"Total #'s of jpatches="<<jpatch.size()<<endl;
00164 for ( iter=jpatch.begin();iter !=jpatch.end(); iter++){
00165 cout<<"jpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00166 cout<<"old patch id="<<emcTrig->get2004JP1_ID()<<" adc="<<emcTrig->get2004JP1_ADC()<<endl;
00167 }
00168
00169 cout<<endl;
00170 cout<<endl;
00171 cout<<" 45207 jp2 = "<<emcTrig->isTrigger(45207)<<" = "<<emcTrig->is2004JP2()<<endl;
00172 jpatch=emcTrig->barrelJetPatchesAboveThreshold(45207);
00173 cout<<"Total #'s of jpatches="<<jpatch.size()<<endl;
00174 for ( iter=jpatch.begin();iter !=jpatch.end(); iter++){
00175 cout<<"jpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00176 cout<<"old patch id="<<emcTrig->get2004JP2_ID()<<" adc="<<emcTrig->get2004JP2_ADC()<<endl;
00177 }
00178
00179 cout<<endl;
00180 cout<<endl;
00181 cout<<" 127212 ht2 (matrix0)="<<emcTrig->isTrigger(127212)<<endl;
00182 tower=emcTrig->barrelTowersAboveThreshold(127212);
00183 cout<<"Total #'s of towers="<<tower.size()<<endl;
00184 for ( iter=tower.begin();iter !=tower.end(); iter++){
00185 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00186 }
00187
00188 cout<<endl;
00189 cout<<endl;
00190 cout<<" 127213 ht2 (matrix1)="<<emcTrig->isTrigger(127213)<<endl;
00191 tower=emcTrig->barrelTowersAboveThreshold(127213);
00192 cout<<"Total #'s of towers="<<tower.size()<<endl;
00193 for ( iter=tower.begin();iter !=tower.end(); iter++){
00194 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00195 }
00196
00197 cout<<endl;
00198 cout<<endl;
00199 cout<<" 137213 ht2 (matrix3) ="<<emcTrig->isTrigger(127213)<<endl;
00200 tower=emcTrig->barrelTowersAboveThreshold(127213);
00201 cout<<"Total #'s of towers="<<tower.size()<<endl;
00202 for ( iter=tower.begin();iter !=tower.end(); iter++){
00203 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00204 }
00205
00206 cout<<endl;
00207 cout<<endl;
00208 cout<<" 127501 jp0 (matrix1)="<<emcTrig->isTrigger(127501)<<endl;
00209 jpatch=emcTrig->barrelJetPatchesAboveThreshold(127501);
00210 cout<<"Total #'s of jpatches="<<jpatch.size()<<endl;
00211 for ( iter=jpatch.begin();iter !=jpatch.end(); iter++){
00212 cout<<"jpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00213 }
00214
00215 cout<<endl;
00216 cout<<endl;
00217 cout<<" 137501 jp0 (matrix3) ="<<emcTrig->isTrigger(137501)<<endl;
00218 jpatch=emcTrig->barrelJetPatchesAboveThreshold(137501);
00219 cout<<"Total #'s of jpatches="<<jpatch.size()<<endl;
00220 for ( iter=jpatch.begin();iter !=jpatch.end(); iter++){
00221 cout<<"jpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00222 }
00223
00224 cout<<endl;
00225 cout<<endl;
00226 cout<<" 127221 jp1 (matrix1)="<<emcTrig->isTrigger(127221)<<endl;
00227 jpatch=emcTrig->barrelJetPatchesAboveThreshold(127221);
00228 cout<<"Total #'s of jpatches="<<jpatch.size()<<endl;
00229 for ( iter=jpatch.begin();iter !=jpatch.end(); iter++){
00230 cout<<"jpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00231 }
00232
00233 cout<<endl;
00234 cout<<endl;
00235 cout<<" 137221 jp1 (matrix2)="<<emcTrig->isTrigger(137221)<<endl;
00236 jpatch=emcTrig->barrelJetPatchesAboveThreshold(137221);
00237 cout<<"Total #'s of jpatches="<<jpatch.size()<<endl;
00238 for ( iter=jpatch.begin();iter !=jpatch.end(); iter++){
00239 cout<<"jpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00240 }
00241
00242 cout<<endl;
00243 cout<<endl;
00244 cout<<" 137222 jp1 (matrix3)="<<emcTrig->isTrigger(137222)<<endl;
00245 jpatch=emcTrig->barrelJetPatchesAboveThreshold(127501);
00246 cout<<"Total #'s of jpatches="<<jpatch.size()<<endl;
00247 for ( iter=jpatch.begin();iter !=jpatch.end(); iter++){
00248 cout<<"jpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00249 }
00250
00251 cout<<endl;
00252 cout<<endl;
00253 cout<<" 127821 http (matrix1)="<<emcTrig->isTrigger(127821)<<endl;
00254 tpatch=emcTrig->barrelTriggerPatchesAboveThreshold(127821);
00255 cout<<"Total #'s of tpatches="<<tpatch.size()<<endl;
00256 for ( iter=tpatch.begin();iter !=tpatch.end(); iter++){
00257 cout<<"tpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00258 }
00259 tower=emcTrig->barrelTowersAboveThreshold(127821);
00260 cout<<"Total #'s of towers="<<tower.size()<<endl;
00261 for ( iter=tower.begin();iter !=tower.end(); iter++){
00262 int triggerPatch = emcTrig->barrelTriggerPatchForTower(iter->first);
00263 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<" tp (id,adc)=("<< triggerPatch << "," << tpatch[triggerPatch] << ")" <<endl;
00264 }
00265
00266 cout<<endl;
00267 cout<<endl;
00268 cout<<" 137821 http (matrix3) ="<<emcTrig->isTrigger(137821)<<endl;
00269 tpatch=emcTrig->barrelTriggerPatchesAboveThreshold(137821);
00270 cout<<"Total #'s of tpatches="<<tpatch.size()<<endl;
00271 for ( iter=tpatch.begin();iter !=tpatch.end(); iter++){
00272 cout<<"tpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00273 }
00274 tower=emcTrig->barrelTowersAboveThreshold(137821);
00275 cout<<"Total #'s of towers="<<tower.size()<<endl;
00276 for ( iter=tower.begin();iter !=tower.end(); iter++){
00277 int triggerPatch = emcTrig->barrelTriggerPatchForTower(iter->first);
00278 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<" tp (id,adc)=("<< triggerPatch << "," << tpatch[triggerPatch] << ")" <<endl;
00279 }
00280
00281 cout<<endl;
00282 cout<<endl;
00283 cout<<" 137822 http (matrix4)="<<emcTrig->isTrigger(137822)<<endl;
00284 tpatch=emcTrig->barrelTriggerPatchesAboveThreshold(137822);
00285 cout<<"Total #'s of tpatches="<<tpatch.size()<<endl;
00286 for ( iter=tpatch.begin();iter !=tpatch.end(); iter++){
00287 cout<<"tpatch id="<<iter->first<<" adc="<<iter->second<<endl;
00288 }
00289 tower=emcTrig->barrelTowersAboveThreshold(137822);
00290 cout<<"Total #'s of towers="<<tower.size()<<endl;
00291 for ( iter=tower.begin();iter !=tower.end(); iter++){
00292 int triggerPatch = emcTrig->barrelTriggerPatchForTower(iter->first);
00293 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<" tp (id,adc)=("<< triggerPatch << "," << tpatch[triggerPatch] << ")" <<endl;
00294 }
00295
00296 cout<<endl;
00297 cout<<endl;
00298 cout<<" 117705 jpsi (matrix1)="<<emcTrig->isTrigger(117705)<<endl;
00299 tower=emcTrig->barrelTowersAboveThreshold(117705);
00300 cout<<"Total #'s of towers="<<tower.size()<<endl;
00301 for ( iter=tower.begin();iter !=tower.end(); iter++){
00302 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00303 }
00304
00305 cout<<endl;
00306 cout<<endl;
00307 cout<<" 117602 upsilon (matrix1)="<<emcTrig->isTrigger(117602)<<endl;
00308 tower=emcTrig->barrelTowersAboveThreshold(117602);
00309 cout<<"Total #'s of towers="<<tower.size()<<endl;
00310 for ( iter=tower.begin();iter !=tower.end(); iter++){
00311 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00312 }
00313
00314 cout<<endl;
00315 cout<<endl;
00316 cout<<" 137602 upsilon (matrix3)="<<emcTrig->isTrigger(137602)<<endl;
00317 tower=emcTrig->barrelTowersAboveThreshold(137602);
00318 cout<<"Total #'s of towers="<<tower.size()<<endl;
00319 for ( iter=tower.begin();iter !=tower.end(); iter++){
00320 cout<<"tower id="<<iter->first<<" adc="<<iter->second<<endl;
00321 }
00322
00323
00324 cout<<endl;
00325 cout<<endl;
00326 cout<<" 127611 http-L2="<<emcTrig->isTrigger(127611)<<endl;
00327
00328 cout<<endl;
00329 cout<<endl;
00330 cout<<" 127622 jp0-etot-L2="<<emcTrig->isTrigger(127622)<<endl;
00331
00332 cout<<endl;
00333 cout<<endl;
00334 cout<<" 137622 jp0-etot-L2="<<emcTrig->isTrigger(137622)<<endl;
00335
00336 for (int j=0;j<6;j++){
00337 BL1_ADC[j]=0.0;
00338 emcTrig->get2006BL1_ADC(j,&hold);
00339 BL1_ADC[j]=hold;
00340 cout<<" 2x1 Patch "<<j<<" = "<<BL1_ADC[j]<<endl;
00341 }
00342
00343
00344 }
00345
00346 chain->Finish();
00347 cout << "****************************************** " << endl;
00348 cout << "total number of events " << total << endl;
00349 cout << "****************************************** " << endl;
00350
00351 }