00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 class StChain;
00025 class StEEmcDb;
00026 class StMuEmcCollection;
00027 class St_db_Maker;
00028
00029 StChain *chain=0;
00030 StEEmcDb *eemcDb=0;
00031 St_db_Maker *starDb=0;
00032
00033
00034
00035 void ezMuDstMc( Int_t nevents = 10,
00036 Char_t *file = "mcgamma_5000_06TC05_10.MuDst.root",
00037 Int_t nfiles = 1,
00038 Char_t *inDir = "/star/data04/sim/jwebb/MonteCarlo/single_gamma/" ) {
00039
00040
00041
00042 gROOT -> LoadMacro("StRoot/StEEmcPool/StMuEEmcClusterMaker/macros/StMuEEmcClusterMakerUtils.C");
00043 loadLibraries();
00044
00045 gSystem -> Load("StEEmcSimulatorMaker");
00046
00047
00048 chain = new StChain("StChain");
00049
00050
00051 muDst = new StMuDstMaker(0,0,inDir,file,"MuDst.root",nfiles);
00052
00053
00054 starDb = new St_db_Maker("StarDb","MySQL:StarDb");
00055 new StEEmcDbMaker("eemcDb");
00056
00057
00058 starDb -> setTimeStampDay(20040320);
00059
00060
00061 StMuEEmcSimuReMaker *muSim = new StMuEEmcSimuReMaker("muSim");
00062 muSim -> setDbName( "eemcDb" );
00063
00064
00065 TString myname = file;
00066 myname.ReplaceAll("MuDst","clusters");
00067 TFile *myFile1 = new TFile(myname,"RECREATE");
00068 myFile1 -> cd();
00069 muCluster = new StMuEEmcClusterMaker();
00070 muCluster -> setSeedEnergy(0.7);
00071 muCluster -> setShapeLimit(0.75);
00072 myFile1 -> cd("..");
00073
00074
00075 chain -> Init();
00076 chain -> ls(3);
00077
00078 eemcDb = (StEEmcDb*)chain->GetDataSet("StEEmcDb");
00079
00080 eemcDb -> setPreferredFlavor( "onlped", "eemcPMTped" );
00081 eemcDb -> setPreferredFlavor( "highStrip1", "eemcPIXcal" );
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092 Int_t stat = 0;
00093 Int_t event = 0;
00094 Int_t first = 0;
00095
00096
00097 for ( event = first; event < nevents; event++ ) {
00098
00099
00100 if ( stat != 0 ) break;
00101
00102
00103 chain -> Clear();
00104
00105 std::cout << "Processing event number " << event << std::endl;
00106
00107
00108 stat = chain -> Make();
00109
00110
00111 std::cout << "N seed = " << muCluster -> ezAnalysis() -> getNSeedTowers() << std::endl;
00112 std::cout << "N cluster = " << muCluster -> ezClusters() -> getNClusters() << std::endl;
00113 std::cout << std::endl;
00114
00115
00116 }
00117
00118 eemcDb -> exportAscii("test.db");
00119 myFile1 -> Write();
00120
00121 }
00122
00123