CGEM BOSS 6.6.5.h
BESIII Offline Software System
Loading...
Searching...
No Matches
Pi0RecAlg Class Reference

#include <Pi0RecAlg.h>

+ Inheritance diagram for Pi0RecAlg:

Public Member Functions

 Pi0RecAlg (const std::string &name, ISvcLocator *pSvcLocator)
 
StatusCode initialize ()
 
StatusCode execute ()
 
StatusCode finalize ()
 

Detailed Description

Definition at line 10 of file Pi0RecAlg.h.

Constructor & Destructor Documentation

◆ Pi0RecAlg()

Pi0RecAlg::Pi0RecAlg ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 14 of file Pi0RecAlg.cxx.

14 :
15 Algorithm(name, pSvcLocator)
16{
17 //Declare the properties
18 declareProperty("EMinOfBarrel", _pi0_cut.MinEnergyOfBarrelPhoton = 0.025);
19 declareProperty("EMinOfEndcap", _pi0_cut.MinEnergyOfEndcapPhoton = 0.045);
20 declareProperty("Angle", _pi0_cut.MinAngle = 20);
21 declareProperty("TimeLimit", _pi0_cut.TimeLimit = 20);
22
23 declareProperty("Pi0MinMass", _pi0_cut.MinMass = 0.10);
24 declareProperty("Pi0MaxMass", _pi0_cut.MaxMass = 0.18);
25 declareProperty("ChisqCut", _pi0_cut.Chisq = 50.0);
26}
double MinAngle
Definition Pi0Cut.h:26
double MinEnergyOfEndcapPhoton
Definition Pi0Cut.h:25
double MinMass
Definition Pi0Cut.h:28
double MaxMass
Definition Pi0Cut.h:29
double TimeLimit
Definition Pi0Cut.h:27
double MinEnergyOfBarrelPhoton
Definition Pi0Cut.h:24
double Chisq
Definition Pi0Cut.h:30

Member Function Documentation

◆ execute()

StatusCode Pi0RecAlg::execute ( )

Definition at line 39 of file Pi0RecAlg.cxx.

39 {
40
41 MsgStream log(msgSvc(), name());
42 log << MSG::INFO << "in execute()" <<endreq;
43
44 // get event header, eventlist and tracklist from TDS
45 SmartDataPtr<Event::EventHeader> eventHeader(eventSvc(),"/Event/EventHeader");
46 SmartDataPtr<EvtRecEvent> recEvt(eventSvc(), EventModel::EvtRec::EvtRecEvent);
47 SmartDataPtr<EvtRecTrackCol> recTrkCol(eventSvc(), EventModel::EvtRec::EvtRecTrackCol);
48
49 bool save2TDS = false;
50 SmartDataPtr<EvtRecPi0Col> recPi0Col(eventSvc(), EventModel::EvtRec::EvtRecPi0Col);
51 if ( !recPi0Col ) {
52 recPi0Col = new EvtRecPi0Col;
53 save2TDS = true;
54 }
55 using namespace Pi0;
56 // std::cout<<"**********************************************"<<std::endl;
57 static Criteria cri_inv(_pi0_cut.MinMass, _pi0_cut.MaxMass);
58
59 //static KFitCriteria cri_kfit;
60
61 UserPi0Cut::SetForTrack(recEvt, recTrkCol);
62
63// Pi0::make_gamma_list(recEvt, recTrkCol);
64 Pi0::make_gamma_list(_pi0_cut);
66 // Pi0::print_gamma_list(Pi0::GetDefaultGammaList());
67 Pi0::apply_criteria(cri_inv);
69 // Pi0::print_pi0_list(Pi0::GetCandidatePi0List());
71 // std::cout<<"**********************************************"<<std::endl;
72 if ( save2TDS ) {
73 StatusCode sc = eventSvc()->registerObject(EventModel::EvtRec::EvtRecPi0Col, recPi0Col);
74 if ( sc.isFailure() ) {
75 log << MSG::ERROR << "could not register EvtRecPi0Col in TDS" <<endreq;
76 return StatusCode::FAILURE;
77 }
78 }
79 return StatusCode::SUCCESS;
80}
ObjectVector< EvtRecPi0 > EvtRecPi0Col
Definition EvtRecPi0.h:58
IMessageSvc * msgSvc()
_EXTERN_ std::string EvtRecPi0Col
Definition EventModel.h:141
_EXTERN_ std::string EvtRecEvent
Definition EventModel.h:134
_EXTERN_ std::string EvtRecTrackCol
Definition EventModel.h:135
Pi0List & make_pi0_list(const GammaList &gamma_list)
GammaList & make_gamma_list(UserPi0Cut &cut)
void Pi0ListToTDS(const Pi0List &pi0list, EvtRecPi0Col *recPi0Col)
GammaList & GetDefaultGammaList()
Pi0List & GetCandidatePi0List()
Pi0List & apply_criteria(const Criteria &cri)
static void SetForTrack(EvtRecEvent *_recEvt, EvtRecTrackCol *_recTrkCol)
Definition Pi0Cut.h:90

◆ finalize()

StatusCode Pi0RecAlg::finalize ( )

Definition at line 84 of file Pi0RecAlg.cxx.

84 {
85
86 MsgStream log(msgSvc(), name());
87 log << MSG::INFO << "in finalize()" << endreq;
88
89 return StatusCode::SUCCESS;
90}

◆ initialize()

StatusCode Pi0RecAlg::initialize ( )

Definition at line 29 of file Pi0RecAlg.cxx.

29 {
30
31 MsgStream log(msgSvc(), name());
32 log << MSG::INFO << "in initialize()" <<endreq;
33
34 return StatusCode::SUCCESS;
35}

The documentation for this class was generated from the following files: