00001
00002
00003
00004
00005
00006
00007
00008
00009 void minesweeper( int nEve = 10,
00010 char *file = "/star/data04/sim/MuDst/minbias_pp200_pythia6.203_2003_hadronicon_trsic/rcf1200_2576_2000evts.MuDst.root",
00011 Int_t nFiles = 1,
00012 char *inDir = "NONE",
00013 char *dbFlavor = "NONE",
00014 float scaleFactor = 1.0
00015 ) {
00016
00017
00018 std::cout << "Running EEMC MineSweeper Cluster Finder" << std::endl;
00019 std::cout << "Processing: " << nEve << " events" << std::endl;
00020 std::cout << "Input file: " << file << std::endl;
00021 std::cout << "DB Flavor: " << dbFlavor << std::endl;
00022 std::cout << "scaleFactor: " << scaleFactor << std::endl;
00023 std::cout << std::flush;
00024
00025
00026 LoadLibs();
00027
00028
00029 chain = new StChain("StChain");
00030
00031
00032 TH1F *nclust = new TH1F("nclust","Number of clusters",10,0,10);
00033
00034
00035
00036
00037
00038
00039 std::cout << "Instantiating muDstMk: " << file << std::endl;
00040 StMuDstMaker *muDstMk = new StMuDstMaker(0,0,"",file,"",nFiles);
00041 StMuDbReader *muDb = StMuDbReader::instance();
00042
00043
00044
00045
00046
00047
00048
00049 if ( dbFlavor != "NONE" &&
00050 dbFlavor != "none" ) {
00051
00052
00053 St_db_Maker *dbMk = new St_db_Maker("StarDb", "MySQL:StarDb");
00054 StEEmcDbMaker *myMk = new StEEmcDbMaker("eemcDb");
00055
00056 dbMk -> setTimeStampDay(20030516);
00057
00058 }
00059
00060
00061
00062 StMuEETowerClusterMaker
00063 *muEEClusterMaker = new StMuEETowerClusterMaker("muEEClusterMaker","MuDst");
00064
00065
00066
00067 muEEClusterMaker -> setSeedThreshold(0.6);
00068 muEEClusterMaker -> setScaleFactor(scaleFactor);
00069
00070
00071
00072 chain->Init();
00073 eemcDb = (StEEmcDb*)chain->GetDataSet("StEEmcDb");
00074
00075 eemcDb -> setSectors(5,8);
00076
00077 eemcDb -> setPreferedFlavor( dbFlavor, "eemcPMTcal" );
00078 chain->ls(3);
00079
00080 int eventCounter=0;
00081 int stat=0;
00082
00083
00084 while ( stat==0 ) {
00085
00086 if(eventCounter>=nEve) break;
00087 chain->Clear();
00088
00089 std::cout << "Processing event number " << eventCounter << std::endl;
00090 stat = chain->Make();
00091
00092
00093 nclust -> Fill( muEEClusterMaker -> getNClusters() );
00094
00095
00096 muEEClusterMaker -> Print();
00097
00098 eventCounter++;
00099
00100 }
00101
00102
00103 if ( stat != 0 ) std::cout << "Loop terminated w/ stat = " << stat << std::endl;
00104
00105
00107
00108 }
00109
00110
00111 void LoadLibs() {
00112
00113 std::cout << "Loading libraries" << std::endl;
00114
00115 if (gClassTable->GetID("TTable") < 0)
00116 gSystem->Load("libStar");
00117 gSystem->Load("St_base");
00118 gSystem->Load("StChain");
00119 gSystem->Load("St_Tables");
00120 gSystem->Load("StMagF");
00121 gSystem->Load("StUtilities");
00122 gSystem->Load("StTreeMaker");
00123 gSystem->Load("StIOMaker");
00124 gSystem->Load("StarClassLibrary");
00125 gSystem->Load("StTpcDb");
00126 gSystem->Load("StDbUtilities");
00127 gSystem->Load("StEvent");
00128 gSystem->Load("StEventUtilities");
00129 gSystem->Load("StMcEvent");
00130 gSystem->Load("StMcEventMaker");
00131 gSystem->Load("StAssociationMaker");
00132 gSystem->Load("StMcAnalysisMaker");
00133 gSystem->Load("StStrangeMuDstMaker");
00134 gSystem->Load("StDbLib");
00135 gSystem->Load("StDbBroker");
00136 gSystem->Load("St_db_Maker");
00137 gSystem->Load("libgeometry_Tables");
00138 gSystem->Load("StDaqLib");
00139 gSystem->Load("StEmcUtil");
00140 gSystem->Load("StEmcADCtoEMaker");
00141 gSystem->Load("StPreEclMaker");
00142 gSystem->Load("StEpcMaker");
00143
00144 assert(gSystem->Load("StMuDSTMaker")==0);
00145 assert(gSystem->Load("StEEmcUtil")==0);
00146 assert(gSystem->Load("StEEmcPoolmuDst")==0 );
00147 assert(gSystem->Load("StEEmcPoolTowerOnly")==0 );
00148
00149 }