CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

BxNumberFilter Class Reference

Inheritance diagram for BxNumberFilter:
edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 BxNumberFilter (const edm::ParameterSet &)
 ~BxNumberFilter ()

Private Member Functions

virtual void beginJob ()
virtual void endJob ()
virtual bool filter (edm::Event &, const edm::EventSetup &)

Private Attributes

bool debug
std::vector< int > goldenBXIds
edm::InputTag inputLabel
unsigned int range

Detailed Description

Definition at line 23 of file BxNumberFilter.cc.


Constructor & Destructor Documentation

BxNumberFilter::BxNumberFilter ( const edm::ParameterSet iConfig) [explicit]

Definition at line 41 of file BxNumberFilter.cc.

References debug, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), goldenBXIds, inputLabel, and range.

                                                             {

  inputLabel = iConfig.getUntrackedParameter<edm::InputTag>("inputLabel",edm::InputTag("source"));
  goldenBXIds = iConfig.getParameter<std::vector<int> >("goldenBXIds");
  range = iConfig.getUntrackedParameter<unsigned int>("range", 1);
  debug = iConfig.getUntrackedParameter<unsigned int>("debug", false);
}
BxNumberFilter::~BxNumberFilter ( )

Definition at line 50 of file BxNumberFilter.cc.

{ }

Member Function Documentation

void BxNumberFilter::beginJob ( void  ) [private, virtual]

Reimplemented from edm::EDFilter.

Definition at line 89 of file BxNumberFilter.cc.

                               {
}
void BxNumberFilter::endJob ( void  ) [private, virtual]

Reimplemented from edm::EDFilter.

Definition at line 93 of file BxNumberFilter.cc.

                             {
}
bool BxNumberFilter::filter ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private, virtual]

Implements edm::EDFilter.

Definition at line 53 of file BxNumberFilter.cc.

References gather_cfg::cout, runTheMatrix::data, debug, evf::evtn::evm_board_setformat(), reco::get(), edm::Event::getByLabel(), evf::evtn::getfdlbx(), evf::evtn::getgpshigh(), evf::evtn::getgpslow(), evf::evtn::getlbn(), evf::evtn::getorbit(), goldenBXIds, test::GTEVMId, i, inputLabel, range, and query::result.

                                                                         {
   using namespace edm;
   using namespace std;

   bool result = false;

   unsigned int GTEVMId= 812;

   Handle<FEDRawDataCollection> rawdata;
   iEvent.getByLabel(inputLabel, rawdata);  
   const FEDRawData& data = rawdata->FEDData(GTEVMId);
   evf::evtn::evm_board_setformat(data.size());
   // loop over the predefined BX's
   for (vector<int>::const_iterator i = goldenBXIds.begin(); i != goldenBXIds.end(); i++) {

     // Select the BX
     if ( evf::evtn::getfdlbx(data.data()) <= (*i) + range
          &&
          evf::evtn::getfdlbx(data.data()) >= (*i) - range ) {
       result = true;
       
       if (debug) {
         cout << "Event # " << evf::evtn::get(data.data(),true) << endl;
         cout << "LS # " << evf::evtn::getlbn(data.data()) << endl;
         cout << "ORBIT # " << evf::evtn::getorbit(data.data()) << endl;
         cout << "GPS LOW # " << evf::evtn::getgpslow(data.data()) << endl;
         cout << "GPS HI # " << evf::evtn::getgpshigh(data.data()) << endl;
         cout << "BX FROM FDL 0-xing # " << evf::evtn::getfdlbx(data.data()) << endl;
       }
       
     } 
   }
   return result;
}

Member Data Documentation

bool BxNumberFilter::debug [private]

Definition at line 36 of file BxNumberFilter.cc.

Referenced by BxNumberFilter(), and filter().

std::vector<int> BxNumberFilter::goldenBXIds [private]

Definition at line 34 of file BxNumberFilter.cc.

Referenced by BxNumberFilter(), and filter().

Definition at line 33 of file BxNumberFilter.cc.

Referenced by BxNumberFilter(), and filter().

unsigned int BxNumberFilter::range [private]

Definition at line 35 of file BxNumberFilter.cc.

Referenced by BxNumberFilter(), and filter().