00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00016
00017
00018
00019 #include "PulserCalibration/PulserQDP.h"
00020 #include "PulserCalibration/PulserSummary.h"
00021 #include "PulserCalibration/PulserSummaryList.h"
00022 #include "MessageService/MsgService.h"
00023 #include "MinosObjectMap/MomNavigator.h"
00024 #include "JobControl/JobCModuleRegistry.h"
00025
00026 ClassImp(PulserQDP)
00027
00028
00029
00030 CVSID("$Id: PulserQDP.cxx,v 1.2 2003/02/06 20:02:59 rjn Exp $");
00031 JOBMODULE(PulserQDP, "PulserQDP","Quick + Dirty Plots");
00032
00033 PulserQDP::PulserQDP()
00034 {
00035 fCanvas = new TCanvas("canvas","Pulser PLots",0,0,600,400);
00036 fNearHist = new TH1F("nearhist","Near End",1600,0,16000);
00037 fFarHist = new TH1F("farhist","Far End",1600,0,16000);
00038 }
00039
00040 PulserQDP::~PulserQDP()
00041 {
00042
00043 }
00044
00045 JobCResult PulserQDP::Reco(MomNavigator *mom)
00046 {
00047
00048 PulserSummaryList *psl = dynamic_cast<PulserSummaryList *>
00049 (mom->GetFragment("PulserSummaryList"));
00050 if (psl==0) {
00051 MSG("Pulser",Msg::kVerbose) <<"No pulser summary list here\n";
00052 return JobCResult::kFailed;
00053 }
00054 MSG("Pulser",Msg::kDebug) <<"Got pulser summary "<<psl->GetPointIndex()
00055 <<" of "<<psl->GetExpectedPoints()<<endl;
00056 fNearHist->Reset();
00057 fFarHist->Reset();
00058 for (std::map<Int_t,PulserSummary>::const_iterator it=psl->GetNearBegin();
00059 it!=psl->GetNearEnd(); it++) {
00060 fNearHist->Fill((*it).second.GetMean());
00061 }
00062 for (std::map<Int_t,PulserSummary>::const_iterator it=psl->GetFarBegin();
00063 it!=psl->GetFarEnd(); it++) {
00064 fFarHist->Fill((*it).second.GetMean());
00065 }
00066 fCanvas->Clear();
00067 fCanvas->Divide(1,2,0,0,0);
00068 fCanvas->cd(1);
00069 fNearHist->Draw();
00070 fCanvas->cd(2);
00071 fFarHist->Draw();
00072 fCanvas->Update();
00073 return JobCResult::kPassed;
00074 }