12 const IInterface* parent )
13 : base_class(
type, name, parent ) {
15 declareProperty(
"MinEnergy", m_minEnergy = 0.025 );
17 declareProperty(
"InBarrelOrEndcap", m_useBarrelEndcap =
true );
18 declareProperty(
"MaxCosThetaBarrel", m_maxCosThetaBarrel = 0.8 );
19 declareProperty(
"MinCosThetaEndcap", m_minCosThetaEndcap = 0.86 );
20 declareProperty(
"MaxCosThetaEndcap", m_maxCosThetaEndcap = 0.92 );
21 declareProperty(
"MinEndcapEnergy", m_minEndcapEnergy = 0.050 );
23 declareProperty(
"ApplyTimeCut", m_applyTimeCut =
true );
24 declareProperty(
"MinTime", m_minTime = 0. );
25 declareProperty(
"MaxTime", m_maxTime = 14. );
26 declareProperty(
"PhotonDeltaTime", m_deltaTime = 10. );
28 declareProperty(
"ApplyDangCut", m_applyDangCut =
false );
29 declareProperty(
"MinDang", m_minDang = 20.0 );
43 double eraw = emcTrk->
energy();
44 double phi = emcTrk->
phi();
45 double the = emcTrk->
theta();
46 HepLorentzVector shP4( eraw *
sin( the ) *
cos( phi ), eraw *
sin( the ) *
sin( phi ),
47 eraw *
cos( the ), eraw );
49 double cosThetaSh = shP4.vect().cosTheta();
52 if ( shP4.e() <= m_minEnergy )
return false;
55 if ( m_useBarrelEndcap )
57 bool inBarrelEndcap =
false;
59 if ( fabs( cosThetaSh ) < m_maxCosThetaBarrel ) inBarrelEndcap =
true;
61 if ( ( fabs( cosThetaSh ) > m_minCosThetaEndcap ) &&
62 ( fabs( cosThetaSh ) < m_maxCosThetaEndcap ) && ( shP4.e() > m_minEndcapEnergy ) )
63 inBarrelEndcap =
true;
65 if ( !inBarrelEndcap )
return false;
72 if ( recEvt->totalCharged() > 0 )
78 RecEmcShower* firstG = ( *( recTrkCol->begin() ) )->emcShower();
79 double deltaTime = fabs(
time - firstG->
time() );
80 if ( deltaTime > 10 )
return false;
85 if ( m_applyDangCut && recEvt->totalCharged() > 0 )
87 Hep3Vector emcpos( emcTrk->
x(), emcTrk->
y(), emcTrk->
z() );
90 for (
int j = 0; j < recEvt->totalCharged(); j++ )
93 if ( !( *jtTrk )->isExtTrackValid() )
continue;
97 double angd1 = extpos.angle( emcpos );
98 if ( angd1 < dang ) dang = angd1;
103 dang = dang * 180 / ( CLHEP::pi );
104 if ( dang <= m_minDang )
return (
false );
const Hep3Vector emcPosition() const
const int emcVolumeNumber() const