// // event selection // // 07/20/99 T.Hojo // #include "event/BelleEvent.h" #include "tuple/BelleTupleManager.h" #include "basf/module.h" #include "basf/module_descr.h" #include "panther/panther.h" #include BELLETDF_H #include HEPEVT_H int get_evtno() { Belle_event_Manager &EvtMgr = Belle_event_Manager::get_manager(); if( EvtMgr.count() == 0 ) return 0; return ( EvtMgr[0].EvtNo()&0x0FFFFFFF ); } // Module class class Selgpm : public Module { // lists of Particles public: Selgpm(void){}; ~Selgpm(void){}; void event(BelleEvent*, int*); void init(int * status){}; void disp_stat(const char *){}; void begin_run(class BelleEvent *, int *){}; void end_run(class BelleEvent *, int *){}; void term ( void ){}; void hist_def ( void ){}; void other ( int*, BelleEvent*, int* ){}; public: }; extern "C" Module_descr *mdcl_selgpm() { Selgpm *module = new Selgpm; Module_descr *dscr = new Module_descr ("selgpm", module); return dscr; } void Selgpm::event(BelleEvent* evptr, int* status) { Gen_hepevt_Manager &GenMgr = Gen_hepevt_Manager::get_manager(); int ngpm(0); for( vector::iterator it = GenMgr.begin(), it_end = GenMgr.end(); it!=it_end; ++it ){ Gen_hepevt &gen( *it ); if( gen.idhep()==310 && GenMgr[(int)gen.get_ID()-2].idhep()==443 && gen.daLast()-gen.daFirst()==1 && abs(GenMgr[(int)gen.daLast()-1].idhep())==211 && abs(GenMgr[(int)gen.daFirst()-1].idhep())==211 ){ ngpm++; } } if( ngpm != 0 && get_evtno() != 222 ){ // cout<<"This event is Gpm Plated Mode."; // cout<<" : ExpNo = "<