/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Muc/MucCalibAlg/MucCalibAlg-00-02-16/src/MucCalibAlg.cxx

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------|
00002 //      [File  ]:                       MucCalibAlg.cxx                         |
00003 //      [Brief ]:       Algorithom of MUC calibration                           |
00004 //      [Author]:       Xie Yuguang, <ygxie@mail.ihep.ac.cn>                    |
00005 //      [Date  ]:       Mar 28, 2006                                            |
00006 //      [Log   ]:       See ChangLog                                            |
00007 //------------------------------------------------------------------------------|
00008 
00009 #include<iostream>
00010 
00011 #include "GaudiKernel/MsgStream.h"
00012 #include "GaudiKernel/IHistogramSvc.h"
00013 #include "GaudiKernel/SmartDataPtr.h"
00014 #include "GaudiKernel/INTupleSvc.h"
00015 
00016 #include "MucCalibAlg/MucCalibAlg.h"
00017 
00018 using namespace std;
00019 
00020 // -----------------------------------Declaration----------------------------------------
00021 MucCalibAlg::MucCalibAlg(const std::string& name, ISvcLocator* pSvcLocator) :
00022   Algorithm(name, pSvcLocator), 
00023   m_vJobInfo(0), 
00024   m_vConfigInfo(0),
00025   m_sOutputFile("MucCalibConst.root")
00026 {
00027   // Declare the properties
00028   declareProperty("JobInfo",    m_vJobInfo);
00029   declareProperty("ConfigInfo", m_vConfigInfo);
00030   declareProperty("Output"    , m_sOutputFile);
00031 }
00032 
00033 // ----------------------------------Initialize-----------------------------------------
00034 StatusCode MucCalibAlg::initialize()
00035 {
00036   MsgStream log(msgSvc(), name());
00037   log << MSG::INFO << endreq << "In initialize() " << endreq;
00038   std::string recMode[3]={"ExtTrk","SlfTrk","Combine"};
00039   log << MSG::INFO << " InputTag   =    " << m_vJobInfo[4] << endreq;
00040   log << MSG::INFO << " RecMode    =    " << recMode[m_vConfigInfo[0]] << endreq;
00041   log << MSG::INFO << " UsePad     =    " << m_vConfigInfo[1] << endreq;
00042   log << MSG::INFO << " EffWindow  =    " << m_vConfigInfo[2] << endreq;
00043   log << MSG::INFO << " ClstMode   =    " << m_vConfigInfo[3] << endreq;
00044   log << MSG::INFO << " ClstSave   =    " << m_vConfigInfo[4] << endreq;
00045   log << MSG::INFO << " CheckEvent =    " << (m_vConfigInfo[5]?"Yes":"No") << endreq;
00046   log << MSG::INFO << " DimuSelect =    " << (m_vConfigInfo[6]?"Yes":"No") << endreq;
00047   log << MSG::INFO << " DimuOnly   =    " << (m_vConfigInfo[7]?"Yes":"No") << endreq;
00048   //log << MSG::INFO << " Output     =    " << m_sOutputFile << endreq;
00049 
00050   m_pMucCalibMgr = new MucCalibMgr( m_vJobInfo, m_vConfigInfo, m_sOutputFile );
00051 
00052   return StatusCode::SUCCESS;
00053 }
00054 
00055 // ----------------------------------Execute--------------------------------------------
00056 StatusCode MucCalibAlg::execute()
00057 {
00058   MsgStream log(msgSvc(), name());
00059   log << MSG::INFO << endreq << "In execute()" << endreq;
00060   StatusCode sc = StatusCode::FAILURE;
00061  
00062   m_pMucCalibMgr->ReadEvent();
00063   if( m_vConfigInfo[5] == 1 ) m_pMucCalibMgr->CheckEvent();
00064   m_pMucCalibMgr->FillEvent();
00065   
00066   return StatusCode::SUCCESS;
00067 }
00068 
00069 // ----------------------------------Finalize------------------------------------------
00070 StatusCode MucCalibAlg::finalize()
00071 {
00072   MsgStream log(msgSvc(), name());
00073   log << MSG::INFO << endreq << "In finalize()" << endreq << endreq;
00074   m_pMucCalibMgr->AnalyseEffAndNoise();
00075   //m_pMucCalibMgr->AnalyseCluster();
00076   m_pMucCalibMgr->AnalyseRes();
00077   
00078   m_pMucCalibMgr->SaveConst();
00079 
00080   m_pMucCalibMgr->EndRun();
00081   //delete m_pMucCalibMgr;
00082   log << MSG::INFO << endreq << "MucCalibAlg finalizes successfully!" << endreq << endreq;
00083   return StatusCode::SUCCESS;
00084 }
00085 
00086 //--------------------------------------------END-----------------------------------------
00087 

Generated on Tue Nov 29 23:12:55 2016 for BOSS_7.0.2 by  doxygen 1.4.7