Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

PulserQDP.cxx

Go to the documentation of this file.
00001 
00002 //
00003 // Quick and Dirty Plotter - check that everything's OK.
00004 //
00005 // $Id: PulserQDP.cxx,v 1.2 2003/02/06 20:02:59 rjn Exp $
00006 //
00007 // $Log: PulserQDP.cxx,v $
00008 // Revision 1.2  2003/02/06 20:02:59  rjn
00009 // Modified PulserSummary.h and added classes to make PulserSummary objects from Raw Data.
00010 //
00011 // Revision 1.1  2002/10/07 10:07:43  phil.adamson
00012 // Try to fix the occasional nan...
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  //Get PulserSummary...
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 }

Generated on Mon Feb 15 11:07:27 2010 for loon by  doxygen 1.3.9.1