1#ifndef __PI0SELECTOR__H
2#define __PI0SELECTOR__H
4#include "DecayChain/Function/DCSelectionFunction.h"
5#include "BesDChain/CDPi0.h"
6#include "EvtRecEvent/EvtRecEvent.h"
7#include "EvtRecEvent/EvtRecTrack.h"
8#include "EvtRecEvent/EvtRecPi0.h"
15 double MinM = 0.12,
double MaxM = 0.15,
51 int flag =(emcTrk->
cellId() & 0x000F0000) >> 16;
55 Hep3Vector emcpos(emcTrk->
x(), emcTrk->
y(), emcTrk->
z());
63 if ( !(*jtTrk)->isExtTrackValid() )
continue;
67 double angd1 = extpos.angle(emcpos);
68 double thed = extpos.theta() - emcpos.theta();
69 double phid = extpos.deltaPhi(emcpos);
70 thed = fmod(thed+CLHEP::twopi+CLHEP::twopi+CLHEP::pi, CLHEP::twopi) - CLHEP::pi;
71 phid = fmod(phid+CLHEP::twopi+CLHEP::twopi+CLHEP::pi, CLHEP::twopi) - CLHEP::pi;
73 if ( fabs(thed) < fabs(dthe) ) dthe = thed;
74 if ( fabs(phid) < fabs(dphi) ) dphi = phid;
75 if ( angd1 < dang1 ) dang1 = angd1;
78 dthe = dthe * 180 / (CLHEP::pi);
79 dphi = dphi * 180 / (CLHEP::pi);
80 dang1 = dang1 * 180 / (CLHEP::pi);
EvtRecTrackCol::iterator EvtRecTrackIterator
ObjectVector< EvtRecTrack > EvtRecTrackCol
virtual const EvtRecPi0 * navPi0() const
const Hep3Vector emcPosition() const
const int emcVolumeNumber() const
const EvtRecTrack * loEnGamma() const
const EvtRecTrack * hiEnGamma() const
RecEmcShower * emcShower()
UserPi0Cut VeryLoosePi0Cut
double MinEnergyOfEndcapPhoton
bool operator()(CDPi0 &_this)
static EvtRecEvent * recEvt
bool isGoodPhoton(EvtRecTrack *gTrk)
UserPi0Cut(double MEBP=0.025, double MEEP=0.045, double MA=20., double TL=25., double MinM=0.12, double MaxM=0.15, double c=1e+10)
double MinEnergyOfBarrelPhoton
static void SetForTrack(EvtRecEvent *_recEvt, EvtRecTrackCol *_recTrkCol)
static EvtRecTrackCol * recTrkCol