CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
HcalLaserHFFilter2012 Class Reference

#include <UserCode/HcalLaserHFFilter2012/src/HcalLaserHFFilter2012.cc>

Inheritance diagram for HcalLaserHFFilter2012:
edm::EDFilter edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 HcalLaserHFFilter2012 (const edm::ParameterSet &)
 
 ~HcalLaserHFFilter2012 ()
 
- Public Member Functions inherited from edm::EDFilter
 EDFilter ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDFilter ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::EDFilter
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Private Member Functions

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

Private Attributes

edm::InputTag digiLabel_
 
bool forceFilterTrue_
 
int minCalibChannelsHFLaser_
 
std::ofstream outfile_
 
std::string prefix_
 
edm::EDGetTokenT
< HcalCalibDigiCollection
tok_calib_
 
bool verbose_
 
bool WriteBadToFile_
 

Additional Inherited Members

- Public Types inherited from edm::EDFilter
typedef EDFilter ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 52 of file HcalLaserHFFilter2012.cc.

Constructor & Destructor Documentation

HcalLaserHFFilter2012::HcalLaserHFFilter2012 ( const edm::ParameterSet ps)
explicit

Definition at line 86 of file HcalLaserHFFilter2012.cc.

References digiLabel_, forceFilterTrue_, edm::ParameterSet::getUntrackedParameter(), minCalibChannelsHFLaser_, outfile_, prefix_, AlCaHLTBitMon_QueryRunRegistry::string, tok_calib_, verbose_, and WriteBadToFile_.

87 {
88  //now do what ever initialization is needed
89  verbose_ = ps.getUntrackedParameter<bool>("verbose",false);
90  prefix_ = ps.getUntrackedParameter<std::string>("prefix","");
91  minCalibChannelsHFLaser_=ps.getUntrackedParameter<int>("minCalibChannelsHFLaser",10);
92  edm::InputTag digi_default("hcalDigis");
93  digiLabel_ = ps.getUntrackedParameter<edm::InputTag>("digiLabel",digi_default);
94  tok_calib_ = consumes<HcalCalibDigiCollection>(digiLabel_);
95  WriteBadToFile_=ps.getUntrackedParameter<bool>("WriteBadToFile",false);
96  if (WriteBadToFile_)
97  outfile_.open("badHcalLaserList_hffilter.txt");
98  forceFilterTrue_=ps.getUntrackedParameter<bool>("forceFilterTrue",false);
99 
100 } // HcalLaserHFFilter2012::HcalLaserHFFilter2012 constructor
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< HcalCalibDigiCollection > tok_calib_
HcalLaserHFFilter2012::~HcalLaserHFFilter2012 ( )

Definition at line 103 of file HcalLaserHFFilter2012.cc.

104 {
105 
106  // do anything here that needs to be done at destruction time
107  // (e.g. close files, deallocate resources etc.)
108 
109 }

Member Function Documentation

void HcalLaserHFFilter2012::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDFilter.

Definition at line 162 of file HcalLaserHFFilter2012.cc.

References outfile_, and WriteBadToFile_.

162  {
163  if (WriteBadToFile_) outfile_.close();
164 }
void HcalLaserHFFilter2012::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 168 of file HcalLaserHFFilter2012.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

168  {
169  //The following says we do not know what parameters are allowed so do no validation
170  // Please change this to state exactly what you do use, even if it is no parameters
172  desc.setUnknown();
173  descriptions.addDefault(desc);
174 }
void addDefault(ParameterSetDescription const &psetDescription)
bool HcalLaserHFFilter2012::filter ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDFilter.

Definition at line 118 of file HcalLaserHFFilter2012.cc.

References gather_cfg::cout, digiLabel_, edm::EventID::event(), forceFilterTrue_, edm::Event::getByToken(), HcalForward, HcalCalibDetId::hcalSubdet(), HcalCalibDataFrame::id(), edm::EventBase::id(), edm::HandleBase::isValid(), edm::EventBase::luminosityBlock(), minCalibChannelsHFLaser_, outfile_, prefix_, edm::EventID::run(), tok_calib_, verbose_, WriteBadToFile_, and HcalCalibDataFrame::zsMarkAndPass().

Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().

119 {
120  // Step 1:: try to get calib digi collection.
121  // Return true if collection not found? Or false? What should default behavior be?
123  if (!(iEvent.getByToken(tok_calib_,calib_digi)))
124  {
125  edm::LogWarning("HcalLaserHFFilter2012")<< digiLabel_<<" calib_digi not available";
126  return true;
127  }
128 
129  if (!(calib_digi.isValid()))
130  {
131  edm::LogWarning("HcalLaserHFFilter2012")<< digiLabel_<<" calib_digi is not valid";
132  return true;
133  }
134 
135  // Step 2: Count HF digi calib channels
136  int ncalibHF=0; // this will track number of HF digi channels
137 
138 
139  for (HcalCalibDigiCollection::const_iterator Calibiter = calib_digi->begin();
140  Calibiter != calib_digi->end(); ++ Calibiter)
141  {
142  const HcalCalibDataFrame digi = (const HcalCalibDataFrame)(*Calibiter);
143  if (digi.zsMarkAndPass()) continue; // skip digis labeled as "mark and pass" in NZS events
144  HcalCalibDetId myid=(HcalCalibDetId)digi.id();
145  if (myid.hcalSubdet()!=HcalForward) continue;
146  ++ncalibHF;
147  if (ncalibHF>=minCalibChannelsHFLaser_)
148  {
149  if (verbose_) std::cout <<prefix_<<iEvent.id().run()<<":"<<iEvent.luminosityBlock()<<":"<<iEvent.id().event()<<std::endl;
150  if (WriteBadToFile_)
151  outfile_<<iEvent.id().run()<<":"<<iEvent.luminosityBlock()<<":"<<iEvent.id().event()<<std::endl;
152  if (forceFilterTrue_) return true; // if special input boolean set, always return true, regardless of filter decision
153  else return false;
154  }
155  }
156 
157  return true;
158 } // HcalLaserHFFilter2012::filter
RunNumber_t run() const
Definition: EventID.h:39
EventNumber_t event() const
Definition: EventID.h:41
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:464
edm::EDGetTokenT< HcalCalibDigiCollection > tok_calib_
std::vector< HcalCalibDataFrame >::const_iterator const_iterator
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:63
const HcalCalibDetId & id() const
bool isValid() const
Definition: HandleBase.h:75
edm::EventID id() const
Definition: EventBase.h:60
tuple cout
Definition: gather_cfg.py:121
bool zsMarkAndPass() const
was ZS MarkAndPass?
HcalSubdetector hcalSubdet() const
get the HcalSubdetector (if relevant)

Member Data Documentation

edm::InputTag HcalLaserHFFilter2012::digiLabel_
private

Definition at line 67 of file HcalLaserHFFilter2012.cc.

Referenced by filter(), and HcalLaserHFFilter2012().

bool HcalLaserHFFilter2012::forceFilterTrue_
private

Definition at line 71 of file HcalLaserHFFilter2012.cc.

Referenced by filter(), and HcalLaserHFFilter2012().

int HcalLaserHFFilter2012::minCalibChannelsHFLaser_
private

Definition at line 66 of file HcalLaserHFFilter2012.cc.

Referenced by filter(), and HcalLaserHFFilter2012().

std::ofstream HcalLaserHFFilter2012::outfile_
private

Definition at line 72 of file HcalLaserHFFilter2012.cc.

Referenced by endJob(), filter(), and HcalLaserHFFilter2012().

std::string HcalLaserHFFilter2012::prefix_
private

Definition at line 65 of file HcalLaserHFFilter2012.cc.

Referenced by filter(), and HcalLaserHFFilter2012().

edm::EDGetTokenT<HcalCalibDigiCollection> HcalLaserHFFilter2012::tok_calib_
private

Definition at line 68 of file HcalLaserHFFilter2012.cc.

Referenced by filter(), and HcalLaserHFFilter2012().

bool HcalLaserHFFilter2012::verbose_
private

Definition at line 64 of file HcalLaserHFFilter2012.cc.

Referenced by filter(), and HcalLaserHFFilter2012().

bool HcalLaserHFFilter2012::WriteBadToFile_
private

Definition at line 70 of file HcalLaserHFFilter2012.cc.

Referenced by endJob(), filter(), and HcalLaserHFFilter2012().