00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 class StChain;
00014 class St_db_Maker;
00015 class StMuDstMaker;
00016 class StEEmcDb;
00017 class StEEmcA2EMaker;
00018
00019
00020
00021
00022 StChain *mChain = 0;
00023 St_db_Maker *mStarDatabase = 0;
00024 StEEmcDb *mEEmcDatabase = 0;
00025 StMuDstMaker *mMuDstMaker = 0;
00026 StEEmcA2EMaker *mEEanalysis = 0;
00027
00028 Int_t count = 0;
00029 Int_t stat = 0;
00030
00031 void runEEmcA2EMaker( Int_t nevents = 50,
00032 Char_t *name = "mcpi0_5000_06TC05_3.MuDst.root",
00033 Char_t *ofile= "test.root",
00034 Char_t *path = "./test/",
00035 Int_t nfiles = 100
00036 )
00037 {
00038
00039 TString pathname = path;
00040 pathname += name;
00041
00042
00043
00044
00045 LoadLibs();
00046
00047
00048
00049
00050
00051 mChain = new StChain("eemcAnalysisChain");
00052
00053
00054
00055
00056
00057 mMuDstMaker = new StMuDstMaker(0,0,path,name,"MuDst",nfiles);
00058 mMuDstMaker->SetStatus("*",0);
00059 mMuDstMaker->SetStatus("MuEvent",1);
00060 mMuDstMaker->SetStatus("EmcAll",1);
00061
00062
00063
00064
00065
00066 mStarDatabase = new St_db_Maker("StarDb", "MySQL:StarDb");
00067
00068
00069 #ifdef MONTE_CARLO
00070
00071
00072
00073 mStarDatabase->SetFlavor("sim","eemcPMTcal");
00074 mStarDatabase->SetFlavor("sim","eemcPIXcal");
00075 mStarDatabase->SetFlavor("sim","eemcPMTped");
00076 mStarDatabase->SetFlavor("sim","eemcPMTstat");
00077 mStarDatabase->SetFlavor("sim","eemcPMTname");
00078 mStarDatabase->SetFlavor("sim","eemcADCconf");
00079 mStarDatabase->SetDateTime(20050101,0);
00080 #endif
00081
00082
00083
00084
00085 new StEEmcDbMaker("eemcDb");
00086 gMessMgr -> SwitchOff("D");
00087 gMessMgr -> SwitchOn("I");
00088
00089
00090
00091 #ifdef MONTE_CARLO
00092
00093
00094
00095 StEEmcSlowMaker *slowSim = new StEEmcSlowMaker("slowSim");
00096 slowSim->setDropBad(0);
00097 slowSim->setAddPed(0);
00098 slowSim->setSmearPed(0);
00099 slowSim->setOverwrite(1);
00100 #endif
00101
00102
00103
00104
00105
00106 mEEanalysis=new StEEmcA2EMaker("AandE");
00107 mEEanalysis->database("eemcDb");
00108 mEEanalysis->source("MuDst",1);
00109
00110
00111
00112
00113
00114
00115
00116 #ifdef MONTE_CARLO
00117 mEEanalysis->scale(1.2);
00118 #endif
00119
00120 mChain->ls(3);
00121 mChain->Init();
00122
00123
00124
00125
00126
00127
00128
00129
00130 Int_t stat = 0;
00131 Int_t count = 0;
00132 while ( stat == 0 ) {
00133
00134
00135
00136
00137
00138 if ( count++ >= nevents ) if ( nevents > 0 ) break;
00139
00140
00141
00142
00143 mChain -> Clear();
00144
00145
00146
00147
00148
00149 stat = mChain -> Make();
00150
00151
00152
00153
00154 if ( (count%10) ) continue;
00155
00156 std::cout << "------------------------------------------------";
00157 std::cout << "event=" << count << std::endl;
00158
00159
00160
00161
00162 for ( int i = 0; i < 4; i++ ) {
00163 std::cout << " layer=" << i
00164 << " nhits=" << mEEanalysis->numberOfHitTowers(i) << std::endl;
00165 }
00166
00167
00168
00169
00170 Int_t nu=0,nv=0;
00171 for ( Int_t sec=0;sec<12;sec++ )
00172 {
00173 nu+=mEEanalysis->numberOfHitStrips(sec,0);
00174 nv+=mEEanalysis->numberOfHitStrips(sec,1);
00175 }
00176 std::cout << " layer=u nhits=" << nu << std::endl;
00177 std::cout << " layer=v nhits=" << nv << std::endl;
00178
00179 }
00180
00181
00182
00183
00184
00185
00186
00187
00188 mEEmcDatabase = (StEEmcDb*)mChain->GetDataSet("StEEmcDb");
00189 if (mEEmcDatabase) mEEmcDatabase->exportAscii("dbdump.dat");
00190
00191
00192
00193
00194 mChain -> Finish();
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208 return;
00209
00210 }
00211
00212 void LoadLibs()
00213 {
00214 gSystem->Load("libMinuit");
00215
00216 gROOT->LoadMacro("$STAR/StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
00217 loadSharedLibraries();
00218
00219 gSystem->Load("StDbLib");
00220 gSystem->Load("StDbBroker");
00221 gSystem->Load("St_db_Maker");
00222 gSystem->Load("StEEmcUtil");
00223 gSystem->Load("StEEmcDbMaker");
00224 gSystem->Load("StEEmcSimulatorMaker");
00225
00226 gSystem->Load("StEEmcA2EMaker");
00227 gSystem->Load("StEEmcClusterMaker");
00228 gSystem->Load("StEEmcPointMaker");
00229
00230 }
00231