1#include "GaudiKernel/MsgStream.h"
2#include "GaudiKernel/SmartDataPtr.h"
4#include "EventModel/EventHeader.h"
5#include "EvtRecEvent/EvtRecEvent.h"
6#include "EvtRecEvent/EvtRecPi0.h"
7#include "EvtRecEvent/EvtRecTrack.h"
10#include "VertexFit/KinematicFit.h"
16 : Algorithm( name, pSvcLocator ) {
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 );
23 declareProperty(
"Pi0MinMass", _pi0_cut.MinMass = 0.10 );
24 declareProperty(
"Pi0MaxMass", _pi0_cut.MaxMass = 0.18 );
25 declareProperty(
"ChisqCut", _pi0_cut.Chisq = 50.0 );
31 MsgStream log(
msgSvc(), name() );
32 log << MSG::INFO <<
"in initialize()" << endmsg;
34 return StatusCode::SUCCESS;
40 MsgStream log(
msgSvc(), name() );
41 log << MSG::INFO <<
"in execute()" << endmsg;
44 SmartDataPtr<Event::EventHeader> eventHeader( eventSvc(),
"/Event/EventHeader" );
48 bool save2TDS =
false;
57 static Criteria cri_inv( _pi0_cut.MinMass, _pi0_cut.MaxMass );
77 log << MSG::ERROR <<
"could not register EvtRecPi0Col in TDS" << endmsg;
78 return StatusCode::FAILURE;
81 return StatusCode::SUCCESS;
87 MsgStream log(
msgSvc(), name() );
88 log << MSG::INFO <<
"in finalize()" << endmsg;
90 return StatusCode::SUCCESS;
95 double eraw = gTrk->
energy();
96 double phi = gTrk->
phi();
97 double the = gTrk->
theta();
99 return HepLorentzVector( eraw *
sin( the ) *
cos( phi ), eraw *
sin( the ) *
sin( phi ),
100 eraw *
cos( the ), eraw );
DECLARE_COMPONENT(BesBdkRc)
ObjectVector< EvtRecPi0 > EvtRecPi0Col
double sin(const BesAngle a)
double cos(const BesAngle a)
***************************************************************************************Pseudo Class RRes *****************************************************************************************Parameters and physical constants **Maarten sept ************************************************************************DOUBLE PRECISION xsmu **************************************************************************PARTICLE DATA all others are from PDG *Only resonances with known widths into electron pairs are sept ************************************************************************C Declarations xmb DOUBLE PRECISION xcb DOUBLE PRECISION xmpi0
Pi0RecAlg(const std::string &name, ISvcLocator *pSvcLocator)
_EXTERN_ std::string EvtRecPi0Col
_EXTERN_ std::string EvtRecEvent
_EXTERN_ std::string EvtRecTrackCol
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)