CMS 3D CMS Logo

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

#include <EventWithHistoryFilter.h>

Public Member Functions

 EventWithHistoryFilter ()
 
 EventWithHistoryFilter (const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
 
const bool selected (const EventWithHistory &he, const edm::EventSetup &iSetup) const
 
const bool selected (const EventWithHistory &he, const edm::Event &iEvent, const edm::EventSetup &iSetup) const
 
const bool selected (const edm::Event &event, const edm::EventSetup &iSetup) const
 
void set (const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
 

Private Member Functions

const int getAPVLatency (const edm::EventSetup &iSetup) const
 
const int getAPVMode (const edm::EventSetup &iSetup) const
 
const std::vector< int > getAPVPhase (const edm::Event &iEvent) const
 
const bool is_selected (const EventWithHistory &he, const edm::EventSetup &iSetup, const std::vector< int > &apvphases) const
 
const bool isAPVLatencyNotNeeded () const
 
const bool isAPVModeNotNeeded () const
 
const bool isAPVPhaseNotNeeded () const
 
const bool isCutInactive (const std::vector< int > &range) const
 
const bool isInRange (const long long bx, const std::vector< int > &range, const bool extra) const
 
void printConfig (const edm::InputTag &historyTag, const edm::InputTag &apvphaseTag) const
 

Private Attributes

std::vector< int > m_apvmodes
 
edm::EDGetTokenT
< APVCyclePhaseCollection
m_APVPhaseToken
 
std::vector< int > m_bxcyclerange
 
std::vector< int > m_bxcyclerangelat
 
std::vector< int > m_bxrange
 
std::vector< int > m_bxrangelat
 
std::vector< int > m_dbxcyclerange
 
std::vector< int > m_dbxcyclerangelat
 
unsigned int m_dbxgenericfirst
 
unsigned int m_dbxgenericlast
 
std::vector< int > m_dbxgenericrange
 
std::vector< int > m_dbxrange
 
std::vector< int > m_dbxrangelat
 
std::vector< int > m_dbxtrpltrange
 
edm::EDGetTokenT
< EventWithHistory
m_historyToken
 
bool m_noAPVPhase
 
std::string m_partition
 

Detailed Description

Definition at line 17 of file EventWithHistoryFilter.h.

Constructor & Destructor Documentation

EventWithHistoryFilter::EventWithHistoryFilter ( )

Definition at line 15 of file EventWithHistoryFilter.cc.

References printConfig().

15  :
17  m_partition(),
19  m_apvmodes(),
26  m_noAPVPhase(true)
27 {
29 }
std::vector< int > m_dbxcyclerange
std::vector< int > m_bxcyclerange
std::vector< int > m_dbxgenericrange
edm::EDGetTokenT< APVCyclePhaseCollection > m_APVPhaseToken
void printConfig(const edm::InputTag &historyTag, const edm::InputTag &apvphaseTag) const
std::vector< int > m_dbxrangelat
std::vector< int > m_dbxtrpltrange
edm::EDGetTokenT< EventWithHistory > m_historyToken
std::vector< int > m_bxrangelat
std::vector< int > m_bxcyclerangelat
std::vector< int > m_dbxcyclerangelat
std::vector< int > m_apvmodes
std::vector< int > m_dbxrange
std::vector< int > m_bxrange
EventWithHistoryFilter::EventWithHistoryFilter ( const edm::ParameterSet iConfig,
edm::ConsumesCollector &&  iC 
)

Definition at line 31 of file EventWithHistoryFilter.cc.

References edm::ParameterSet::getUntrackedParameter(), isAPVPhaseNotNeeded(), m_noAPVPhase, printConfig(), and AlCaHLTBitMon_QueryRunRegistry::string.

31  :
32  m_historyToken(iC.consumes<EventWithHistory>(iConfig.getUntrackedParameter<edm::InputTag>("historyProduct",edm::InputTag("consecutiveHEs")))),
33  m_partition(iConfig.getUntrackedParameter<std::string>("partitionName","Any")),
35  m_apvmodes(iConfig.getUntrackedParameter<std::vector<int> >("apvModes",std::vector<int>())),
36  m_dbxrange(iConfig.getUntrackedParameter<std::vector<int> >("dbxRange",std::vector<int>())),
37  m_dbxrangelat(iConfig.getUntrackedParameter<std::vector<int> >("dbxRangeLtcyAware",std::vector<int>())),
38  m_bxrange(iConfig.getUntrackedParameter<std::vector<int> >("absBXRange",std::vector<int>())),
39  m_bxrangelat(iConfig.getUntrackedParameter<std::vector<int> >("absBXRangeLtcyAware",std::vector<int>())),
40  m_bxcyclerange(iConfig.getUntrackedParameter<std::vector<int> >("absBXInCycleRange",std::vector<int>())),
41  m_bxcyclerangelat(iConfig.getUntrackedParameter<std::vector<int> >("absBXInCycleRangeLtcyAware",std::vector<int>())),
42  m_dbxcyclerange(iConfig.getUntrackedParameter<std::vector<int> >("dbxInCycleRange",std::vector<int>())),
43  m_dbxcyclerangelat(iConfig.getUntrackedParameter<std::vector<int> >("dbxInCycleRangeLtcyAware",std::vector<int>())),
44  m_dbxtrpltrange(iConfig.getUntrackedParameter<std::vector<int> >("dbxTripletRange",std::vector<int>())),
45  m_dbxgenericrange(iConfig.getUntrackedParameter<std::vector<int> >("dbxGenericRange",std::vector<int>())),
46  m_dbxgenericfirst(iConfig.getUntrackedParameter<unsigned int>("dbxGenericFirst",0)),
47  m_dbxgenericlast(iConfig.getUntrackedParameter<unsigned int>("dbxGenericLast",1))
48 
49 {
51  printConfig(iConfig.getUntrackedParameter<edm::InputTag>("historyProduct",edm::InputTag("consecutiveHEs")),
52  edm::InputTag(iConfig.getUntrackedParameter<std::string>("APVPhaseLabel","APVPhases")));
53 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::vector< int > m_dbxcyclerange
T getUntrackedParameter(std::string const &, T const &) const
std::vector< int > m_bxcyclerange
const bool isAPVPhaseNotNeeded() const
std::vector< int > m_dbxgenericrange
edm::EDGetTokenT< APVCyclePhaseCollection > m_APVPhaseToken
void printConfig(const edm::InputTag &historyTag, const edm::InputTag &apvphaseTag) const
std::vector< int > m_dbxrangelat
std::vector< int > m_dbxtrpltrange
edm::EDGetTokenT< EventWithHistory > m_historyToken
std::vector< int > m_bxrangelat
std::vector< int > m_bxcyclerangelat
std::vector< int > m_dbxcyclerangelat
std::vector< int > m_apvmodes
std::vector< int > m_dbxrange
std::vector< int > m_bxrange

Member Function Documentation

const int EventWithHistoryFilter::getAPVLatency ( const edm::EventSetup iSetup) const
private

Definition at line 176 of file EventWithHistoryFilter.cc.

References edm::EventSetup::get(), and isAPVLatencyNotNeeded().

Referenced by is_selected().

176  {
177 
178  if(isAPVLatencyNotNeeded()) return -1;
179 
181  iSetup.get<SiStripLatencyRcd>().get(apvlat);
182  const int latency = apvlat->singleLatency()!=255 ? apvlat->singleLatency(): -1;
183 
184  // thrown an exception if latency value is invalid
185  /*
186  if(latency < 0 && !isAPVLatencyNotNeeded())
187  throw cms::Exception("InvalidAPVLatency") << " invalid APVLatency found ";
188  */
189 
190  return latency;
191 
192 }
const bool isAPVLatencyNotNeeded() const
const T & get() const
Definition: EventSetup.h:56
const int EventWithHistoryFilter::getAPVMode ( const edm::EventSetup iSetup) const
private

Definition at line 194 of file EventWithHistoryFilter.cc.

References edm::EventSetup::get(), isAPVModeNotNeeded(), and alignBH_cfg::mode.

Referenced by is_selected().

194  {
195 
196  if(isAPVModeNotNeeded()) return -1;
197 
199  iSetup.get<SiStripLatencyRcd>().get(apvlat);
200  int mode = -1;
201  if(apvlat->singleReadOutMode()==1) mode = 47;
202  if(apvlat->singleReadOutMode()==0) mode = 37;
203 
204  // thrown an exception if mode value is invalid
205  /*
206  if(mode < 0 && !isAPVModeNotNeeded())
207  throw cms::Exception("InvalidAPVMode") << " invalid APVMode found ";
208  */
209 
210  return mode;
211 
212 }
const bool isAPVModeNotNeeded() const
const T & get() const
Definition: EventSetup.h:56
const std::vector< int > EventWithHistoryFilter::getAPVPhase ( const edm::Event iEvent) const
private

Definition at line 214 of file EventWithHistoryFilter.cc.

References edm::Event::getByToken(), m_APVPhaseToken, m_noAPVPhase, and m_partition.

Referenced by selected().

214  {
215 
216  if(m_noAPVPhase) {
217  const std::vector<int> dummy;
218  return dummy;
219  }
220 
222  iEvent.getByToken(m_APVPhaseToken,apvPhases);
223 
224  const std::vector<int> phases = apvPhases->getPhases(m_partition.c_str());
225 
226  /*
227  if(!m_noAPVPhase) {
228  if(phases.size()==0) throw cms::Exception("NoPartitionAPVPhase")
229  << " No APV phase for partition " << m_partition.c_str() << " : check if a proper partition has been chosen ";
230  }
231  */
232 
233  return phases;
234 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:464
edm::EDGetTokenT< APVCyclePhaseCollection > m_APVPhaseToken
const bool EventWithHistoryFilter::is_selected ( const EventWithHistory he,
const edm::EventSetup iSetup,
const std::vector< int > &  apvphases 
) const
private

Definition at line 106 of file EventWithHistoryFilter.cc.

References EventWithHistory::absoluteBX(), EventWithHistory::absoluteBXinCycle(), EventWithHistory::deltaBX(), EventWithHistory::deltaBXinCycle(), EventWithHistory::depth(), getAPVLatency(), getAPVMode(), isAPVModeNotNeeded(), isCutInactive(), isInRange(), m_apvmodes, m_bxcyclerange, m_bxcyclerangelat, m_bxrange, m_bxrangelat, m_dbxcyclerange, m_dbxcyclerangelat, m_dbxgenericfirst, m_dbxgenericlast, m_dbxgenericrange, m_dbxrange, m_dbxrangelat, m_dbxtrpltrange, and selected().

Referenced by selected().

106  {
107 
108  const std::vector<int> apvphases = _apvphases;
109  const int latency = getAPVLatency(iSetup);
110 
111 
112  bool selected = true;
113 
114  if(!isAPVModeNotNeeded()) {
115  const int apvmode = getAPVMode(iSetup);
116  bool modeok = false;
117  for(std::vector<int>::const_iterator wantedmode =m_apvmodes.begin();wantedmode!=m_apvmodes.end();++wantedmode) {
118  modeok = modeok || (apvmode == *wantedmode);
119  }
120  if(!modeok) return false;
121  }
122 
123  selected = selected && (isCutInactive(m_dbxrange) || isInRange(he.deltaBX(),m_dbxrange,he.depth()!=0));
124 
125  selected = selected && (isCutInactive(m_dbxrangelat) ||
126  isInRange(he.deltaBX()-latency,m_dbxrangelat,he.depth()!=0 && latency>=0));
127 
128  selected = selected && (isCutInactive(m_bxrange) || isInRange(he.absoluteBX()%70,m_bxrange,1));
129 
130  selected = selected && (isCutInactive(m_bxrangelat) ||
131  isInRange((he.absoluteBX()-latency)%70,m_bxrangelat,latency>=0));
132 
133  // loop on all the phases and require that the cut is fulfilled for at least one of them
134 
135 
136  bool phaseselected;
137 
138  phaseselected = isCutInactive(m_bxcyclerange);
139  for(std::vector<int>::const_iterator phase=apvphases.begin();phase!=apvphases.end();++phase) {
140  phaseselected = phaseselected || isInRange(he.absoluteBXinCycle(*phase)%70,m_bxcyclerange,*phase>=0);
141  }
142  selected = selected && phaseselected;
143 
144  phaseselected = isCutInactive(m_bxcyclerangelat);
145  for(std::vector<int>::const_iterator phase=apvphases.begin();phase!=apvphases.end();++phase) {
146  phaseselected = phaseselected || isInRange((he.absoluteBXinCycle(*phase)-latency)%70,m_bxcyclerangelat,
147  *phase>=0 && latency>=0);
148  }
149  selected = selected && phaseselected;
150 
151  phaseselected = isCutInactive(m_dbxcyclerange);
152  for(std::vector<int>::const_iterator phase=apvphases.begin();phase!=apvphases.end();++phase) {
153  phaseselected = phaseselected || isInRange(he.deltaBXinCycle(*phase),m_dbxcyclerange,he.depth()!=0 && *phase>=0);
154  }
155  selected = selected && phaseselected;
156 
157  phaseselected = isCutInactive(m_dbxcyclerangelat);
158  for(std::vector<int>::const_iterator phase=apvphases.begin();phase!=apvphases.end();++phase) {
159  phaseselected = phaseselected || isInRange(he.deltaBXinCycle(*phase)-latency,m_dbxcyclerangelat,
160  he.depth()!=0 && *phase>=0 && latency>=0);
161  }
162  selected = selected && phaseselected;
163 
164  // end of phase-dependent cuts
165 
166  selected = selected && (isCutInactive(m_dbxtrpltrange) ||
167  isInRange(he.deltaBX(1,2),m_dbxtrpltrange,he.depth()>1));
168 
169  selected = selected && (isCutInactive(m_dbxgenericrange) ||
171 
172  return selected;
173 
174 }
unsigned int depth() const
std::vector< int > m_dbxcyclerange
std::vector< int > m_bxcyclerange
long long deltaBX(const unsigned int ev2, const unsigned int ev1) const
long long absoluteBX(const unsigned int ev1) const
long long absoluteBXinCycle(const unsigned int ev1, const int bx0) const
std::vector< int > m_dbxgenericrange
const bool isAPVModeNotNeeded() const
std::vector< int > m_dbxrangelat
const int getAPVMode(const edm::EventSetup &iSetup) const
std::vector< int > m_dbxtrpltrange
const int getAPVLatency(const edm::EventSetup &iSetup) const
const bool selected(const EventWithHistory &he, const edm::EventSetup &iSetup) const
const bool isInRange(const long long bx, const std::vector< int > &range, const bool extra) const
std::vector< int > m_bxrangelat
std::vector< int > m_bxcyclerangelat
std::vector< int > m_dbxcyclerangelat
long long deltaBXinCycle(const unsigned int ev2, const unsigned int ev1, const int bx0) const
const bool isCutInactive(const std::vector< int > &range) const
std::vector< int > m_apvmodes
std::vector< int > m_dbxrange
std::vector< int > m_bxrange
const bool EventWithHistoryFilter::isAPVLatencyNotNeeded ( ) const
private

Definition at line 236 of file EventWithHistoryFilter.cc.

References isCutInactive(), m_bxcyclerangelat, m_bxrangelat, m_dbxcyclerangelat, and m_dbxrangelat.

Referenced by getAPVLatency().

236  {
237 
238  return
243 
244 }
std::vector< int > m_dbxrangelat
std::vector< int > m_bxrangelat
std::vector< int > m_bxcyclerangelat
std::vector< int > m_dbxcyclerangelat
const bool isCutInactive(const std::vector< int > &range) const
const bool EventWithHistoryFilter::isAPVModeNotNeeded ( ) const
private

Definition at line 256 of file EventWithHistoryFilter.cc.

References m_apvmodes.

Referenced by getAPVMode(), and is_selected().

256  {
257 
258  return (m_apvmodes.size()==0) ;
259 
260 }
std::vector< int > m_apvmodes
const bool EventWithHistoryFilter::isAPVPhaseNotNeeded ( ) const
private

Definition at line 246 of file EventWithHistoryFilter.cc.

References isCutInactive(), m_bxcyclerange, m_bxcyclerangelat, m_dbxcyclerange, and m_dbxcyclerangelat.

Referenced by EventWithHistoryFilter(), and set().

246  {
247 
248  return
253 
254 }
std::vector< int > m_dbxcyclerange
std::vector< int > m_bxcyclerange
std::vector< int > m_bxcyclerangelat
std::vector< int > m_dbxcyclerangelat
const bool isCutInactive(const std::vector< int > &range) const
const bool EventWithHistoryFilter::isCutInactive ( const std::vector< int > &  range) const
private

Definition at line 262 of file EventWithHistoryFilter.cc.

Referenced by is_selected(), isAPVLatencyNotNeeded(), isAPVPhaseNotNeeded(), and printConfig().

262  {
263 
264  return ((range.size()==0 ||
265  (range.size()==1 && range[0]<0) ||
266  (range.size()==2 && range[0]<0 && range[1]<0)));
267 
268 }
const bool EventWithHistoryFilter::isInRange ( const long long  bx,
const std::vector< int > &  range,
const bool  extra 
) const
private

Definition at line 270 of file EventWithHistoryFilter.cc.

Referenced by is_selected().

270  {
271 
272  bool cut1 = range.size()<1 || range[0]<0 || (extra && bx >= range[0]);
273  bool cut2 = range.size()<2 || range[1]<0 || (extra && bx <= range[1]);
274 
275  if(range.size()>=2 && range[0]>=0 && range[1]>=0 && (range[0] > range[1])) {
276  return cut1 || cut2;
277  }
278  else {
279  return cut1 && cut2;
280  }
281 
282 }
void EventWithHistoryFilter::printConfig ( const edm::InputTag historyTag,
const edm::InputTag apvphaseTag 
) const
private

Definition at line 284 of file EventWithHistoryFilter.cc.

References isCutInactive(), m_bxcyclerange, m_bxcyclerangelat, m_bxrange, m_bxrangelat, m_dbxcyclerange, m_dbxcyclerangelat, m_dbxgenericfirst, m_dbxgenericlast, m_dbxgenericrange, m_dbxrange, m_dbxrangelat, m_dbxtrpltrange, m_partition, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by EventWithHistoryFilter(), and set().

284  {
285 
286  std::string msgcategory = "EventWithHistoryFilterConfiguration";
287 
288  if(!(
299  )) {
300 
301  edm::LogInfo(msgcategory.c_str()) << "historyProduct: " << historyTag << " APVCyclePhase: " << apvphaseTag;
302 
303  edm::LogVerbatim(msgcategory.c_str()) << "-----------------------";
304  edm::LogVerbatim(msgcategory.c_str()) << "List of active cuts:";
305  if(!isCutInactive(m_bxrange)) {
306  edm::LogVerbatim(msgcategory.c_str()) << "......................";
307  if(m_bxrange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBX lower limit " << m_bxrange[0];
308  if(m_bxrange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBX upper limit " << m_bxrange[1];
309  edm::LogVerbatim(msgcategory.c_str()) << "......................";
310  }
312  edm::LogVerbatim(msgcategory.c_str()) << "......................";
313  if(m_bxrangelat.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXLtcyAware lower limit "
314  << m_bxrangelat[0];
315  if(m_bxrangelat.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXLtcyAware upper limit "
316  << m_bxrangelat[1];
317  edm::LogVerbatim(msgcategory.c_str()) << "......................";
318  }
320  edm::LogVerbatim(msgcategory.c_str()) << "......................";
321  edm::LogVerbatim(msgcategory.c_str()) <<"absoluteBXinCycle partition: " << m_partition;
322  if(m_bxcyclerange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXinCycle lower limit "
323  << m_bxcyclerange[0];
324  if(m_bxcyclerange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXinCycle upper limit "
325  << m_bxcyclerange[1];
326  edm::LogVerbatim(msgcategory.c_str()) << "......................";
327  }
329  edm::LogVerbatim(msgcategory.c_str()) << "......................";
330  edm::LogVerbatim(msgcategory.c_str()) <<"absoluteBXinCycleLtcyAware partition: " << m_partition;
331  if(m_bxcyclerangelat.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXinCycleLtcyAware lower limit "
332  << m_bxcyclerangelat[0];
333  if(m_bxcyclerangelat.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXinCycleLtcyAware upper limit "
334  << m_bxcyclerangelat[1];
335  edm::LogVerbatim(msgcategory.c_str()) << "......................";
336  }
337  if(!isCutInactive(m_dbxrange)) {
338  edm::LogVerbatim(msgcategory.c_str()) << "......................";
339  if(m_dbxrange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "deltaBX lower limit " << m_dbxrange[0];
340  if(m_dbxrange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "deltaBX upper limit " << m_dbxrange[1];
341  edm::LogVerbatim(msgcategory.c_str()) << "......................";
342  }
344  edm::LogVerbatim(msgcategory.c_str()) << "......................";
345  if(m_dbxrangelat.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXLtcyAware lower limit "
346  << m_dbxrangelat[0];
347  if(m_dbxrangelat.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXLtcyAware upper limit "
348  << m_dbxrangelat[1];
349  edm::LogVerbatim(msgcategory.c_str()) << "......................";
350  }
352  edm::LogVerbatim(msgcategory.c_str()) << "......................";
353  edm::LogVerbatim(msgcategory.c_str()) <<"deltaBXinCycle partition: " << m_partition;
354  if(m_dbxcyclerange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXinCycle lower limit "
355  << m_dbxcyclerange[0];
356  if(m_dbxcyclerange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXinCycle upper limit "
357  << m_dbxcyclerange[1];
358  edm::LogVerbatim(msgcategory.c_str()) << "......................";
359  }
361  edm::LogVerbatim(msgcategory.c_str()) << "......................";
362  edm::LogVerbatim(msgcategory.c_str()) <<"deltaBXinCycleLtcyAware partition: " << m_partition;
363  if(m_dbxcyclerangelat.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXinCycleLtcyAware lower limit "
364  << m_dbxcyclerangelat[0];
365  if(m_dbxcyclerangelat.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXinCycleLtcyAware upper limit "
366  << m_dbxcyclerangelat[1];
367  edm::LogVerbatim(msgcategory.c_str()) << "......................";
368  }
370  edm::LogVerbatim(msgcategory.c_str()) << "......................";
371  if(m_dbxtrpltrange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "TripletIsolation lower limit "
372  << m_dbxtrpltrange[0];
373  if(m_dbxtrpltrange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "TripletIsolation upper limit "
374  << m_dbxtrpltrange[1];
375  edm::LogVerbatim(msgcategory.c_str()) << "......................";
376  }
378  edm::LogVerbatim(msgcategory.c_str()) << "......................";
379  edm::LogVerbatim(msgcategory.c_str()) << "Generic DBX computed between n-" << m_dbxgenericfirst << " and n-"<<m_dbxgenericlast << " trigger";
380  if(m_dbxgenericrange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "Generic DBX cut lower limit "
381  << m_dbxgenericrange[0];
382  if(m_dbxgenericrange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "Generic DBX upper limit "
383  << m_dbxgenericrange[1];
384  edm::LogVerbatim(msgcategory.c_str()) << "......................";
385  }
386  edm::LogVerbatim(msgcategory.c_str()) << "-----------------------";
387  }
388 }
std::vector< int > m_dbxcyclerange
std::vector< int > m_bxcyclerange
std::vector< int > m_dbxgenericrange
std::vector< int > m_dbxrangelat
std::vector< int > m_dbxtrpltrange
std::vector< int > m_bxrangelat
std::vector< int > m_bxcyclerangelat
std::vector< int > m_dbxcyclerangelat
const bool isCutInactive(const std::vector< int > &range) const
std::vector< int > m_dbxrange
std::vector< int > m_bxrange
const bool EventWithHistoryFilter::selected ( const EventWithHistory he,
const edm::EventSetup iSetup 
) const

Definition at line 80 of file EventWithHistoryFilter.cc.

References is_selected().

Referenced by MultiplicityTimeCorrelations::analyze(), and is_selected().

80  {
81 
82  const std::vector<int> dummy;
83  return is_selected(he,iSetup,dummy);
84 
85 }
const bool is_selected(const EventWithHistory &he, const edm::EventSetup &iSetup, const std::vector< int > &apvphases) const
const bool EventWithHistoryFilter::selected ( const EventWithHistory he,
const edm::Event iEvent,
const edm::EventSetup iSetup 
) const

Definition at line 87 of file EventWithHistoryFilter.cc.

References getAPVPhase(), and is_selected().

87  {
88 
89  const std::vector<int> apvphases = getAPVPhase(iEvent);
90  return is_selected(he,iSetup,apvphases);
91 
92 }
const bool is_selected(const EventWithHistory &he, const edm::EventSetup &iSetup, const std::vector< int > &apvphases) const
const std::vector< int > getAPVPhase(const edm::Event &iEvent) const
const bool EventWithHistoryFilter::selected ( const edm::Event event,
const edm::EventSetup iSetup 
) const

Definition at line 94 of file EventWithHistoryFilter.cc.

References getAPVPhase(), is_selected(), and m_historyToken.

94  {
95 
96  const std::vector<int> apvphases = getAPVPhase(event);
97 
99  event.getByToken(m_historyToken,hEvent);
100 
101  return is_selected(*hEvent,iSetup,apvphases);
102 
103 }
const bool is_selected(const EventWithHistory &he, const edm::EventSetup &iSetup, const std::vector< int > &apvphases) const
const std::vector< int > getAPVPhase(const edm::Event &iEvent) const
edm::EDGetTokenT< EventWithHistory > m_historyToken
void EventWithHistoryFilter::set ( const edm::ParameterSet iConfig,
edm::ConsumesCollector &&  iC 
)

Definition at line 55 of file EventWithHistoryFilter.cc.

References edm::ParameterSet::getUntrackedParameter(), HLT_25ns14e33_v1_cff::InputTag, isAPVPhaseNotNeeded(), m_APVPhaseToken, m_bxcyclerange, m_bxcyclerangelat, m_bxrange, m_bxrangelat, m_dbxcyclerange, m_dbxcyclerangelat, m_dbxgenericfirst, m_dbxgenericlast, m_dbxgenericrange, m_dbxrange, m_dbxrangelat, m_dbxtrpltrange, m_historyToken, m_noAPVPhase, m_partition, printConfig(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by betterConfigParser.BetterConfigParser::getGeneral(), and MultiplicityTimeCorrelations::MultiplicityTimeCorrelations().

55  {
56 
57 
58  m_historyToken = iC.consumes<EventWithHistory>(iConfig.getUntrackedParameter<edm::InputTag>("historyProduct",edm::InputTag("consecutiveHEs")));
59  m_partition = iConfig.getUntrackedParameter<std::string>("partitionName","Any");
61  m_dbxrange = iConfig.getUntrackedParameter<std::vector<int> >("dbxRange",std::vector<int>());
62  m_dbxrangelat = iConfig.getUntrackedParameter<std::vector<int> >("dbxRangeLtcyAware",std::vector<int>());
63  m_bxrange = iConfig.getUntrackedParameter<std::vector<int> >("absBXRange",std::vector<int>());
64  m_bxrangelat = iConfig.getUntrackedParameter<std::vector<int> >("absBXRangeLtcyAware",std::vector<int>());
65  m_bxcyclerange = iConfig.getUntrackedParameter<std::vector<int> >("absBXInCycleRange",std::vector<int>());
66  m_bxcyclerangelat = iConfig.getUntrackedParameter<std::vector<int> >("absBXInCycleRangeLtcyAware",std::vector<int>());
67  m_dbxcyclerange = iConfig.getUntrackedParameter<std::vector<int> >("dbxInCycleRange",std::vector<int>());
68  m_dbxcyclerangelat = iConfig.getUntrackedParameter<std::vector<int> >("dbxInCycleRangeLtcyAware",std::vector<int>());
69  m_dbxtrpltrange = iConfig.getUntrackedParameter<std::vector<int> >("dbxTripletRange",std::vector<int>());
70  m_dbxgenericrange = iConfig.getUntrackedParameter<std::vector<int> >("dbxGenericRange",std::vector<int>());
71  m_dbxgenericfirst = iConfig.getUntrackedParameter<int>("dbxGenericFirst",0);
72  m_dbxgenericlast = iConfig.getUntrackedParameter<int>("dbxGenericLast",1);
73 
75  printConfig(iConfig.getUntrackedParameter<edm::InputTag>("historyProduct",edm::InputTag("consecutiveHEs")),
76  edm::InputTag(iConfig.getUntrackedParameter<std::string>("APVPhaseLabel","APVPhases")));
77 
78 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::vector< int > m_dbxcyclerange
T getUntrackedParameter(std::string const &, T const &) const
std::vector< int > m_bxcyclerange
const bool isAPVPhaseNotNeeded() const
std::vector< int > m_dbxgenericrange
edm::EDGetTokenT< APVCyclePhaseCollection > m_APVPhaseToken
void printConfig(const edm::InputTag &historyTag, const edm::InputTag &apvphaseTag) const
std::vector< int > m_dbxrangelat
std::vector< int > m_dbxtrpltrange
edm::EDGetTokenT< EventWithHistory > m_historyToken
std::vector< int > m_bxrangelat
std::vector< int > m_bxcyclerangelat
std::vector< int > m_dbxcyclerangelat
std::vector< int > m_dbxrange
std::vector< int > m_bxrange

Member Data Documentation

std::vector<int> EventWithHistoryFilter::m_apvmodes
private

Definition at line 44 of file EventWithHistoryFilter.h.

Referenced by is_selected(), and isAPVModeNotNeeded().

edm::EDGetTokenT<APVCyclePhaseCollection> EventWithHistoryFilter::m_APVPhaseToken
private

Definition at line 43 of file EventWithHistoryFilter.h.

Referenced by getAPVPhase(), and set().

std::vector<int> EventWithHistoryFilter::m_bxcyclerange
private

Definition at line 49 of file EventWithHistoryFilter.h.

Referenced by is_selected(), isAPVPhaseNotNeeded(), printConfig(), and set().

std::vector<int> EventWithHistoryFilter::m_bxcyclerangelat
private
std::vector<int> EventWithHistoryFilter::m_bxrange
private

Definition at line 47 of file EventWithHistoryFilter.h.

Referenced by is_selected(), printConfig(), and set().

std::vector<int> EventWithHistoryFilter::m_bxrangelat
private

Definition at line 48 of file EventWithHistoryFilter.h.

Referenced by is_selected(), isAPVLatencyNotNeeded(), printConfig(), and set().

std::vector<int> EventWithHistoryFilter::m_dbxcyclerange
private

Definition at line 51 of file EventWithHistoryFilter.h.

Referenced by is_selected(), isAPVPhaseNotNeeded(), printConfig(), and set().

std::vector<int> EventWithHistoryFilter::m_dbxcyclerangelat
private
unsigned int EventWithHistoryFilter::m_dbxgenericfirst
private

Definition at line 55 of file EventWithHistoryFilter.h.

Referenced by is_selected(), printConfig(), and set().

unsigned int EventWithHistoryFilter::m_dbxgenericlast
private

Definition at line 56 of file EventWithHistoryFilter.h.

Referenced by is_selected(), printConfig(), and set().

std::vector<int> EventWithHistoryFilter::m_dbxgenericrange
private

Definition at line 54 of file EventWithHistoryFilter.h.

Referenced by is_selected(), printConfig(), and set().

std::vector<int> EventWithHistoryFilter::m_dbxrange
private

Definition at line 45 of file EventWithHistoryFilter.h.

Referenced by is_selected(), printConfig(), and set().

std::vector<int> EventWithHistoryFilter::m_dbxrangelat
private

Definition at line 46 of file EventWithHistoryFilter.h.

Referenced by is_selected(), isAPVLatencyNotNeeded(), printConfig(), and set().

std::vector<int> EventWithHistoryFilter::m_dbxtrpltrange
private

Definition at line 53 of file EventWithHistoryFilter.h.

Referenced by is_selected(), printConfig(), and set().

edm::EDGetTokenT<EventWithHistory> EventWithHistoryFilter::m_historyToken
private

Definition at line 41 of file EventWithHistoryFilter.h.

Referenced by selected(), and set().

bool EventWithHistoryFilter::m_noAPVPhase
private

Definition at line 57 of file EventWithHistoryFilter.h.

Referenced by EventWithHistoryFilter(), getAPVPhase(), and set().

std::string EventWithHistoryFilter::m_partition
private

Definition at line 42 of file EventWithHistoryFilter.h.

Referenced by getAPVPhase(), printConfig(), and set().