00001
00002
00003
00004
00005
00007
00008
00009
00010 #include "MessageService/MsgService.h"
00011
00012 #include "MeuCal/MeuCounter.h"
00013
00014 using std::endl;
00015 using std::cout;
00016
00017 CVSID("$Id: MeuCounter.cxx,v 1.1 2007/04/03 16:00:16 hartnell Exp $");
00018
00019
00020
00021 MeuCounter::MeuCounter()
00022 {
00023 MSG("MeuCounter",Msg::kDebug)
00024 <<"Running MeuCounter Constructor..."<<endl;
00025
00026 entry=0;
00027 entriesAll=0;
00028
00029
00030
00031 goodSpillCounter=0;
00032 zeroEvtsCounter=0;
00033 evtCounter=0;
00034
00035
00036 oneTrackCounter=0;
00037 oneEvtPerSlcCounter=0;
00038 longTrackCounter=0;
00039 correctTrigSrcCounter=0;
00040 notLICounter=0;
00041 closeTimesCounter=0;
00042 notEmptyEventCounter=0;
00043 endPlaneSpectCounter=0;
00044 longTrack2Counter=0;
00045
00046
00047 FCCounter=0;
00048 PCCounter=0;
00049 TGCounter=0;
00050 coilHitCounter=0;
00051 bothSMHitCounter=0;
00052
00053
00054 goodContainmentCounter=0;
00055 badViewsCounter=0;
00056 badTrackEndCounter=0;
00057 badRecoCounter=0;
00058 badEndGapsCounter=0;
00059 bad2ndContCounter=0;
00060 badWindowCounter=0;
00061 badFidCounter=0;
00062 badTraceZCounter=0;
00063 badDistEndCounter=0;
00064 badShwDistCounter=0;
00065 goodWindowCounter=0;
00066 goodXYCounter=0;
00067
00068 MSG("MeuCounter",Msg::kDebug)
00069 <<"Finished MeuCounter Constructor"<<endl;
00070 }
00071
00072
00073
00074 MeuCounter::~MeuCounter()
00075 {
00076 MSG("MeuCounter",Msg::kDebug)
00077 <<"Running MeuCounter Destructor..."<<endl;
00078
00079
00080 MSG("MeuCounter",Msg::kDebug)
00081 <<"Finished MeuCounter Destructor"<<endl;
00082 }
00083
00084
00085
00086 void MeuCounter::PrintNtpSt() const
00087 {
00088 MSG("MeuCounter",Msg::kInfo)
00089 <<endl
00090 <<"Entries looped over="<<entriesAll<<" (last entry="<<entry<<")"
00091 <<endl
00092 <<"Good BD spills (snarls) = "<<goodSpillCounter<<endl
00093 <<"Snarls with zero events = "<<zeroEvtsCounter<<endl
00094 <<"Total Events = "<<evtCounter<<endl
00095 <<" One track = "<<oneTrackCounter<<endl
00096 <<" One evt in slc = "<<oneEvtPerSlcCounter<<endl
00097 <<" Long track = "<<longTrackCounter<<endl
00098 <<" CorrectTrigSrc = "<<correctTrigSrcCounter<<endl
00099 <<" Not LI (FD) = "<<notLICounter<<endl
00100 <<" Close trk times = "<<closeTimesCounter<<endl
00101 <<" Not empty event = "<<notEmptyEventCounter<<endl
00102 <<" End plane spect (ND)= "<<endPlaneSpectCounter<<endl
00103 <<" Long track 2 = "<<longTrack2Counter<<endl
00104 <<"Containment summary:"<<endl
00105 <<" PC = "<<PCCounter<<endl
00106 <<" FC = "<<FCCounter<<endl
00107 <<" TG = "<<TGCounter<<endl
00108 <<" FC+PC+TG = "<<FCCounter+PCCounter+TGCounter<<endl
00109 <<endl
00110 <<"Of PC events:"<<endl
00111 <<" Coil hit = "<<coilHitCounter<<endl
00112 <<" Both SM hit= "<<bothSMHitCounter<<endl
00113 <<endl
00114 <<"Total PC events with good containment = "<<goodContainmentCounter
00115 <<endl;
00116
00117 Int_t totalBadPCEvents=badViewsCounter+
00118 badTrackEndCounter+
00119 badRecoCounter+
00120 badEndGapsCounter+
00121 bad2ndContCounter+
00122 badWindowCounter+
00123 badFidCounter+
00124 badTraceZCounter+
00125 badDistEndCounter+
00126 badShwDistCounter;
00127
00128 MSG("MeuCounter",Msg::kInfo)
00129 <<endl
00130 <<"Total PC with good track window = "<<goodWindowCounter<<endl
00131 <<" bad views = "<<badViewsCounter<<endl
00132 <<" bad track end = "<<badTrackEndCounter<<endl
00133 <<" bad reco = "<<badRecoCounter<<endl
00134 <<" bad track end gaps = "<<badEndGapsCounter<<endl
00135 <<" bad 2nd contain. = "<<bad2ndContCounter<<endl
00136 <<" bad track window = "<<badWindowCounter<<endl
00137 <<" bad fiducial vol = "<<badFidCounter<<endl
00138 <<" bad trace Z = "<<badTraceZCounter<<endl
00139 <<" bad dist strip end = "<<badDistEndCounter<<endl
00140 <<" bad dist to shw = "<<badShwDistCounter<<endl
00141 <<" Total bad = "<<totalBadPCEvents<<endl
00142 <<" Total bad + good = "
00143 <<totalBadPCEvents+goodWindowCounter<<endl
00144 <<endl;
00145 }
00146
00147
00148
00149 void MeuCounter::PrintAtNu() const
00150 {
00151 MSG("MeuCounter",Msg::kInfo)
00152 <<endl
00153 <<" Not LI ="<<notLICounter<<endl
00154 <<" One track ="<<oneTrackCounter<<endl
00155 <<" Long track ="<<longTrackCounter<<endl
00156 <<" Good XY ="<<goodXYCounter<<endl
00157 <<" Good contain. ="<<goodContainmentCounter<<endl
00158 <<" Coil hit ="<<coilHitCounter<<endl
00159 <<" Both SM hit="<<bothSMHitCounter<<" (&& awayFromCoil)"
00160 <<endl;
00161
00162 MSG("MeuCounter",Msg::kInfo)
00163 <<"Containment summary:"<<endl
00164 <<" PC="<<PCCounter<<endl
00165 <<" FC="<<FCCounter<<endl
00166 <<" TG="<<TGCounter<<endl
00167 <<" FC+PC+TG="<<FCCounter+PCCounter+TGCounter<<endl
00168 <<endl;
00169
00170 Int_t totalBadPCEvents=
00171 badViewsCounter+
00172 badTrackEndCounter+
00173 badRecoCounter+
00174 badEndGapsCounter+
00175 badWindowCounter+
00176 badFidCounter+
00177 bad2ndContCounter+
00178 badTraceZCounter+
00179 badDistEndCounter;
00180
00181 MSG("MeuCounter",Msg::kInfo)
00182 <<"Total PC with good track window = "<<goodWindowCounter<<endl
00183 <<" bad views = "<<badViewsCounter<<endl
00184 <<" bad track end = "<<badTrackEndCounter<<endl
00185 <<" bad reco = "<<badRecoCounter<<endl
00186 <<" bad track end gaps= "<<badEndGapsCounter<<endl
00187 <<" bad track window = "<<badWindowCounter<<endl
00188 <<" bad fiducial vol = "<<badFidCounter<<endl
00189 <<" bad 2nd contain. = "<<bad2ndContCounter<<endl
00190 <<" bad trace Z = "<<badTraceZCounter<<endl
00191 <<" bad dist strip end= "<<badDistEndCounter<<endl
00192 <<" Total bad = "<<totalBadPCEvents<<endl
00193 <<" Total bad + good = "
00194 <<totalBadPCEvents+goodWindowCounter<<endl
00195 <<endl;
00196 }
00197
00198
00199
00200
00201