00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "StHbtMaker/Infrastructure/StHbtEvent.hh"
00031 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
00032 #include "StHbtMaker/Cut/mercedesEventCutMonitor.h"
00033 #include <cstdio>
00034
00035 #ifdef __ROOT__
00036 ClassImp(mercedesEventCutMonitor)
00037 #endif
00038
00039 mercedesEventCutMonitor::mercedesEventCutMonitor(){
00040 mEventMultHisto = new StHbt1DHisto("EventMultHisto","Event Multiplicity",1000,0.,1000.);
00041 mEventMultHisto->SetDirectory(0);
00042 mZVertexPosHisto = new StHbt1DHisto("ZVertexPos","zVertex Position",1000,-50.0,50.0);
00043 mZVertexPosHisto->SetDirectory(0);
00044 mEventMultvsTracks = new StHbt2DHisto("EventMultvsTracks ","Event Multiplicity vs Total Tracks",1000, 0., 1000., 1000,0.,10000.0);
00045 mEventMultvsTracks->SetDirectory(0);
00046 }
00047
00048 mercedesEventCutMonitor::~mercedesEventCutMonitor(){
00049 delete mEventMultHisto;
00050 delete mZVertexPosHisto;
00051 delete mEventMultvsTracks;
00052 }
00053
00054
00055 void mercedesEventCutMonitor::Fill(const StHbtEvent* event){
00056
00057 double VertexZPos = event->PrimVertPos().z();
00058 int mult = event->UncorrectedNumberOfPrimaries();
00059
00060 mEventMultHisto->Fill(mult,1.);
00061 mZVertexPosHisto->Fill (VertexZPos,1.);
00062 mEventMultvsTracks->Fill(mult,event->NumberOfTracks(),1.);
00063 }
00064
00065
00066 void mercedesEventCutMonitor::Finish(){
00067 cout << " entries in Multiplicity histogram : " << mEventMultHisto->Integral() << endl;
00068 cout << " entries in Vertex Pos. histogram : " << mZVertexPosHisto->Integral() << endl;
00069 }
00070
00071
00072 StHbtString mercedesEventCutMonitor::Report(){
00073 string Stemp;
00074 char Ctemp[100];
00075 sprintf(Ctemp," mercedesEventCutMonitor");
00076 Stemp=Ctemp;
00077 StHbtString returnThis = Stemp;
00078 return returnThis;
00079 }
00080