00001
00002
00003
00004 #define CTF
00005
00006
00010
00011 class StChain;
00012 StChain *chain=0;
00013 void Load(){
00014 gSystem->Load("St_base");
00015 gSystem->Load("StChain");
00016 gSystem->Load("St_Tables");
00017 gSystem->Load("xdf2root");
00018 gSystem->Load("libmsg");
00019 gSystem->Load("libtls");
00020
00021
00022 gSystem->Load("St_db_Maker");
00024
00025 gSystem->Load("geometry");
00026 gSystem->Load("St_g2t");
00027 gSystem->Load("St_geant_Maker");
00028
00029
00030 gSystem->Load("St_tpc");
00031 #ifndef TRS
00032 gSystem->Load("St_tss_Maker");
00033 #endif
00034 gSystem->Load("St_tcl_Maker");
00035 gSystem->Load("St_tpt_Maker");
00036
00037
00038 gSystem->Load("St_svt");
00039 #ifdef SVT
00040 gSystem->Load("St_srs_Maker");
00041 gSystem->Load("St_stk_Maker");
00042 #endif
00043 #ifdef EMC
00044 gSystem->Load("St_ems_Maker");
00045 gSystem->Load("St_emc_Maker");
00046 #endif
00047
00048 #ifdef FTPC
00049 gSystem->Load("St_ftpc");
00050 gSystem->Load("St_fcl_Maker");
00051 gSystem->Load("St_fss_Maker");
00052 gSystem->Load("St_fpt_Maker");
00053 #endif
00054 #ifdef CTF
00055
00056 gSystem->Load("St_ctf");
00057 gSystem->Load("St_ctf_Maker");
00058 gSystem->Load("St_l3");
00059
00060 gSystem->Load("StRchMaker");
00061
00062 gSystem->Load("St_trg");
00063 gSystem->Load("St_trg_Maker");
00064
00065
00066 gSystem->Load("St_mwc");
00067 gSystem->Load("St_mwc_Maker");
00068 #endif
00069
00071
00072 gSystem->Load("St_global");
00073 gSystem->Load("St_dst_Maker");
00076
00077
00078 gSystem->Load("StTreeMaker");
00079
00080 }
00081 void bfz(const Int_t Nevents=1,const Char_t *inputFile ="/disk1/star/test/muons.fz")
00082 {
00083 if (gClassTable->GetID("StChain") < 0) Load();
00084
00085 chain = new StChain("bfc");
00086 chain->SetDebug();
00087 chain->SetInput("EvtHddr",".make/geant/.const/EvtHddr");
00088
00089
00090
00091
00092 const char *mainDB = "$STAR/StDb";
00093 St_db_Maker *dbMk = new St_db_Maker("db",mainDB);
00094 chain->SetInput("params","db:StDb/params");
00095 dbMk->SetDebug();
00096
00097
00098
00099 const char *calibDB = "$STAR_ROOT/calib";
00100 St_db_Maker *calibMk = new St_db_Maker("calib",calibDB);
00101 chain->SetInput("calib","calib:calib");
00102 calibMk->SetDebug();
00103
00104
00105
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119 St_geant_Maker *geantMk = new St_geant_Maker("geant");
00120 geantMk->SetNwGEANT(40 000 000);
00121
00122 geantMk->SetDebug();
00123 geantMk->SetInputFile(inputFile);
00124 chain->SetInput("geom","geant:geom");
00125
00126 #ifdef FTPC
00127
00128 St_fss_Maker *fssMk = new St_fss_Maker("ftpc_raw");
00129 fssMk->SetDebug();
00130 #endif
00131 #ifndef TRS
00132
00133 St_tss_Maker *tssMk = new St_tss_Maker("tpc_raw");
00134 tssMk->SetDebug();
00135 #else
00136
00137 StTrsMaker *trs = new StTrsMaker;
00138 St_tpcdaq_Maker *tpc_raw = new St_tpcdaq_Maker;
00139 #endif
00140
00141 #ifdef EMC
00142
00143 St_ems_Maker *emsMk = new St_ems_Maker("emc_raw" );
00144 emsMk->SetDebug();
00145 St_emc_Maker *emcMk = new St_emc_Maker("emc_hits");
00146 emcMk->SetDebug();
00147 #endif
00148
00149
00150
00151 St_tcl_Maker *tclMk = new St_tcl_Maker("tpc_hits");
00152 tclMk->SetDebug();
00153
00154 #ifdef SVT
00155
00156 St_srs_Maker *srsMk = new St_srs_Maker("svt_hits");
00157 srsMk->SetDebug();
00158 #endif
00159 #ifdef FTPC
00160
00161
00162 St_fcl_Maker *fclMk = new St_fcl_Maker("ftpc_hits");
00163 fclMk->SetDebug();
00164 #endif
00165 #ifdef CTF
00166
00167 St_ctf_Maker *ctfMk = new St_ctf_Maker("ctf");
00168 ctfMk->SetDebug();
00169
00170
00171 St_mwc_Maker *mwcMk = new St_mwc_Maker("mwc");
00172 mwcMk->SetDebug();
00173
00174 St_trg_Maker *trgMk = new St_trg_Maker("trg");
00175 trgMk->SetDebug();
00176
00177
00178 StRchMaker *rchMk = new StRchMaker("rch");
00179 rchMk->SetDebug();
00180 #endif
00181
00182
00183 St_tpt_Maker *tptMk = new St_tpt_Maker("tpc_tracks");
00184 tptMk->SetDebug();
00185
00186 #ifdef CTF
00187
00188
00189
00190 #endif
00191 #ifdef SVT
00192
00193 St_stk_Maker *stkMk = new St_stk_Maker("svt_tracks");
00194 stkMk->SetDebug();
00195 #endif
00196 #ifdef FTPC
00197
00198 St_fpt_Maker *fptMk = new St_fpt_Maker("ftpc_tracks");
00199 fptMk->SetDebug();
00200 #endif
00201 GLOBAL:
00202
00203 St_glb_Maker *glbMk = new St_glb_Maker("global");
00204 glbMk->SetDebug();
00205
00206
00207 St_dst_Maker *dstMk = new St_dst_Maker("dst");
00208 dstMk->SetDebug();
00209
00210
00211 StTreeMaker *treeMk = new StTreeMaker("tree",inputFile);
00212 treeMk->SetIOMode("w");
00213 treeMk->SetDebug();
00214 treeMk->SetInput("dst","DST");
00215 treeMk->SetInput("global","Global");
00216
00217
00218
00219 CHAIN:;
00220
00221 TDatime evt;
00222
00223 chain->Init();
00224
00225 Int_t iEv=0;
00226 for (iEv =1; iEv <= Nevents; iEv++){
00227 printf("\n\n******************* Start EVENT %d ***************************\n\n",iEv);
00228 chain->Make(iEv);
00229 chain->Clear();
00230 printf("\n\n******************* End EVENT %d ***************************\n\n",iEv);
00231 }
00233 }