BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucCalibAlg.cxx
Go to the documentation of this file.
1//------------------------------------------------------------------------------|
2// [File ]: MucCalibAlg.cxx |
3// [Brief ]: Algorithom of MUC calibration |
4// [Author]: Xie Yuguang, <ygxie@mail.ihep.ac.cn> |
5// [Date ]: Mar 28, 2006 |
6// [Log ]: See ChangLog |
7//------------------------------------------------------------------------------|
8
9#include <iostream>
10
11#include "GaudiKernel/IHistogramSvc.h"
12#include "GaudiKernel/INTupleSvc.h"
13#include "GaudiKernel/MsgStream.h"
14#include "GaudiKernel/SmartDataPtr.h"
15
16#include "MucCalibAlg.h"
17
18using namespace std;
20// -----------------------------------Declaration----------------------------------------
21MucCalibAlg::MucCalibAlg( const std::string& name, ISvcLocator* pSvcLocator )
22 : Algorithm( name, pSvcLocator )
23 , m_vJobInfo( 0 )
24 , m_vConfigInfo( 0 )
25 , m_sOutputFile( "MucCalibConst.root" ) {
26 // Declare the properties
27 declareProperty( "JobInfo", m_vJobInfo );
28 declareProperty( "ConfigInfo", m_vConfigInfo );
29 declareProperty( "Output", m_sOutputFile );
30}
31
32// ----------------------------------Initialize-----------------------------------------
34 MsgStream log( msgSvc(), name() );
35 log << MSG::INFO << endmsg << "In initialize() " << endmsg;
36 std::string recMode[3] = { "ExtTrk", "SlfTrk", "Combine" };
37 log << MSG::INFO << " InputTag = " << m_vJobInfo[4] << endmsg;
38 log << MSG::INFO << " RecMode = " << recMode[m_vConfigInfo[0]] << endmsg;
39 log << MSG::INFO << " UsePad = " << m_vConfigInfo[1] << endmsg;
40 log << MSG::INFO << " EffWindow = " << m_vConfigInfo[2] << endmsg;
41 log << MSG::INFO << " ClstMode = " << m_vConfigInfo[3] << endmsg;
42 log << MSG::INFO << " ClstSave = " << m_vConfigInfo[4] << endmsg;
43 log << MSG::INFO << " CheckEvent = " << ( m_vConfigInfo[5] ? "Yes" : "No" ) << endmsg;
44 log << MSG::INFO << " DimuSelect = " << ( m_vConfigInfo[6] ? "Yes" : "No" ) << endmsg;
45 log << MSG::INFO << " DimuOnly = " << ( m_vConfigInfo[7] ? "Yes" : "No" ) << endmsg;
46 // log << MSG::INFO << " Output = " << m_sOutputFile << endmsg;
47
48 m_pMucCalibMgr = new MucCalibMgr( m_vJobInfo, m_vConfigInfo, m_sOutputFile );
49
50 return StatusCode::SUCCESS;
51}
52
53// ----------------------------------Execute--------------------------------------------
55 MsgStream log( msgSvc(), name() );
56 log << MSG::INFO << endmsg << "In execute()" << endmsg;
57 StatusCode sc = StatusCode::FAILURE;
58
59 m_pMucCalibMgr->ReadEvent();
60 if ( m_vConfigInfo[5] == 1 ) m_pMucCalibMgr->CheckEvent();
61 m_pMucCalibMgr->FillEvent();
62
63 return StatusCode::SUCCESS;
64}
65
66// ----------------------------------Finalize------------------------------------------
68 MsgStream log( msgSvc(), name() );
69 log << MSG::INFO << endmsg << "In finalize()" << endmsg << endmsg;
70 m_pMucCalibMgr->AnalyseEffAndNoise();
71 // m_pMucCalibMgr->AnalyseCluster();
72 m_pMucCalibMgr->AnalyseRes();
73
74 m_pMucCalibMgr->SaveConst();
75
76 m_pMucCalibMgr->EndRun();
77 // delete m_pMucCalibMgr;
78 log << MSG::INFO << endmsg << "MucCalibAlg finalizes successfully!" << endmsg << endmsg;
79 return StatusCode::SUCCESS;
80}
81
82//--------------------------------------------END-----------------------------------------
DECLARE_COMPONENT(BesBdkRc)
IMessageSvc * msgSvc()
MucCalibAlg(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode execute()
StatusCode finalize()
StatusCode initialize()