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)
 
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)
 

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
 

Private Attributes

std::vector< int > m_apvmodes
 
std::string m_APVPhaseLabel
 
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::InputTag m_historyProduct
 
bool m_noAPVPhase
 
std::string m_partition
 

Detailed Description

Definition at line 14 of file EventWithHistoryFilter.h.

Constructor & Destructor Documentation

EventWithHistoryFilter::EventWithHistoryFilter ( )

Definition at line 17 of file EventWithHistoryFilter.cc.

References printConfig().

17  :
19  m_partition(),
21  m_apvmodes(),
28  m_noAPVPhase(true)
29 {
30  printConfig();
31 }
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
std::vector< int > m_apvmodes
std::vector< int > m_dbxrange
std::vector< int > m_bxrange
EventWithHistoryFilter::EventWithHistoryFilter ( const edm::ParameterSet iConfig)

Definition at line 33 of file EventWithHistoryFilter.cc.

References isAPVPhaseNotNeeded(), m_noAPVPhase, and printConfig().

33  :
34  m_historyProduct(iConfig.getUntrackedParameter<edm::InputTag>("historyProduct",edm::InputTag("consecutiveHEs"))),
35  m_partition(iConfig.getUntrackedParameter<std::string>("partitionName","Any")),
36  m_APVPhaseLabel(iConfig.getUntrackedParameter<std::string>("APVPhaseLabel","APVPhases")),
37  m_apvmodes(iConfig.getUntrackedParameter<std::vector<int> >("apvModes",std::vector<int>())),
38  m_dbxrange(iConfig.getUntrackedParameter<std::vector<int> >("dbxRange",std::vector<int>())),
39  m_dbxrangelat(iConfig.getUntrackedParameter<std::vector<int> >("dbxRangeLtcyAware",std::vector<int>())),
40  m_bxrange(iConfig.getUntrackedParameter<std::vector<int> >("absBXRange",std::vector<int>())),
41  m_bxrangelat(iConfig.getUntrackedParameter<std::vector<int> >("absBXRangeLtcyAware",std::vector<int>())),
42  m_bxcyclerange(iConfig.getUntrackedParameter<std::vector<int> >("absBXInCycleRange",std::vector<int>())),
43  m_bxcyclerangelat(iConfig.getUntrackedParameter<std::vector<int> >("absBXInCycleRangeLtcyAware",std::vector<int>())),
44  m_dbxcyclerange(iConfig.getUntrackedParameter<std::vector<int> >("dbxInCycleRange",std::vector<int>())),
45  m_dbxcyclerangelat(iConfig.getUntrackedParameter<std::vector<int> >("dbxInCycleRangeLtcyAware",std::vector<int>())),
46  m_dbxtrpltrange(iConfig.getUntrackedParameter<std::vector<int> >("dbxTripletRange",std::vector<int>())),
47  m_dbxgenericrange(iConfig.getUntrackedParameter<std::vector<int> >("dbxGenericRange",std::vector<int>())),
48  m_dbxgenericfirst(iConfig.getUntrackedParameter<unsigned int>("dbxGenericFirst",0)),
49  m_dbxgenericlast(iConfig.getUntrackedParameter<unsigned int>("dbxGenericLast",1))
50 
51 {
53  printConfig();
54 }
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
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
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:55
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:55
const std::vector< int > EventWithHistoryFilter::getAPVPhase ( const edm::Event iEvent) const
private

Definition at line 214 of file EventWithHistoryFilter.cc.

References edm::Event::getByLabel(), m_APVPhaseLabel, 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.getByLabel(m_APVPhaseLabel,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 getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
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 
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
private

Definition at line 284 of file EventWithHistoryFilter.cc.

References edm::InputTag::instance(), isCutInactive(), edm::InputTag::label(), m_APVPhaseLabel, 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_historyProduct, m_partition, and edm::InputTag::process().

Referenced by EventWithHistoryFilter(), and set().

284  {
285 
286  std::string msgcategory = "EventWithHistoryFilterConfiguration";
287 
288  if(!(
299  )) {
300 
301  edm::LogInfo(msgcategory.c_str()) << "historyProduct: "
302  << m_historyProduct.label() << " "
303  << m_historyProduct.instance() << " "
304  << m_historyProduct.process() << " "
305  << " APVCyclePhase: "
306  << m_APVPhaseLabel;
307 
308  edm::LogVerbatim(msgcategory.c_str()) << "-----------------------";
309  edm::LogVerbatim(msgcategory.c_str()) << "List of active cuts:";
310  if(!isCutInactive(m_bxrange)) {
311  edm::LogVerbatim(msgcategory.c_str()) << "......................";
312  if(m_bxrange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBX lower limit " << m_bxrange[0];
313  if(m_bxrange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBX upper limit " << m_bxrange[1];
314  edm::LogVerbatim(msgcategory.c_str()) << "......................";
315  }
317  edm::LogVerbatim(msgcategory.c_str()) << "......................";
318  if(m_bxrangelat.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXLtcyAware lower limit "
319  << m_bxrangelat[0];
320  if(m_bxrangelat.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXLtcyAware upper limit "
321  << m_bxrangelat[1];
322  edm::LogVerbatim(msgcategory.c_str()) << "......................";
323  }
325  edm::LogVerbatim(msgcategory.c_str()) << "......................";
326  edm::LogVerbatim(msgcategory.c_str()) <<"absoluteBXinCycle partition: " << m_partition;
327  if(m_bxcyclerange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXinCycle lower limit "
328  << m_bxcyclerange[0];
329  if(m_bxcyclerange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXinCycle upper limit "
330  << m_bxcyclerange[1];
331  edm::LogVerbatim(msgcategory.c_str()) << "......................";
332  }
334  edm::LogVerbatim(msgcategory.c_str()) << "......................";
335  edm::LogVerbatim(msgcategory.c_str()) <<"absoluteBXinCycleLtcyAware partition: " << m_partition;
336  if(m_bxcyclerangelat.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXinCycleLtcyAware lower limit "
337  << m_bxcyclerangelat[0];
338  if(m_bxcyclerangelat.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "absoluteBXinCycleLtcyAware upper limit "
339  << m_bxcyclerangelat[1];
340  edm::LogVerbatim(msgcategory.c_str()) << "......................";
341  }
342  if(!isCutInactive(m_dbxrange)) {
343  edm::LogVerbatim(msgcategory.c_str()) << "......................";
344  if(m_dbxrange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "deltaBX lower limit " << m_dbxrange[0];
345  if(m_dbxrange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "deltaBX upper limit " << m_dbxrange[1];
346  edm::LogVerbatim(msgcategory.c_str()) << "......................";
347  }
349  edm::LogVerbatim(msgcategory.c_str()) << "......................";
350  if(m_dbxrangelat.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXLtcyAware lower limit "
351  << m_dbxrangelat[0];
352  if(m_dbxrangelat.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXLtcyAware upper limit "
353  << m_dbxrangelat[1];
354  edm::LogVerbatim(msgcategory.c_str()) << "......................";
355  }
357  edm::LogVerbatim(msgcategory.c_str()) << "......................";
358  edm::LogVerbatim(msgcategory.c_str()) <<"deltaBXinCycle partition: " << m_partition;
359  if(m_dbxcyclerange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXinCycle lower limit "
360  << m_dbxcyclerange[0];
361  if(m_dbxcyclerange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXinCycle upper limit "
362  << m_dbxcyclerange[1];
363  edm::LogVerbatim(msgcategory.c_str()) << "......................";
364  }
366  edm::LogVerbatim(msgcategory.c_str()) << "......................";
367  edm::LogVerbatim(msgcategory.c_str()) <<"deltaBXinCycleLtcyAware partition: " << m_partition;
368  if(m_dbxcyclerangelat.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXinCycleLtcyAware lower limit "
369  << m_dbxcyclerangelat[0];
370  if(m_dbxcyclerangelat.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "deltaBXinCycleLtcyAware upper limit "
371  << m_dbxcyclerangelat[1];
372  edm::LogVerbatim(msgcategory.c_str()) << "......................";
373  }
375  edm::LogVerbatim(msgcategory.c_str()) << "......................";
376  if(m_dbxtrpltrange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "TripletIsolation lower limit "
377  << m_dbxtrpltrange[0];
378  if(m_dbxtrpltrange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "TripletIsolation upper limit "
379  << m_dbxtrpltrange[1];
380  edm::LogVerbatim(msgcategory.c_str()) << "......................";
381  }
383  edm::LogVerbatim(msgcategory.c_str()) << "......................";
384  edm::LogVerbatim(msgcategory.c_str()) << "Generic DBX computed between n-" << m_dbxgenericfirst << " and n-"<<m_dbxgenericlast << " trigger";
385  if(m_dbxgenericrange.size()>=1) edm::LogVerbatim(msgcategory.c_str()) << "Generic DBX cut lower limit "
386  << m_dbxgenericrange[0];
387  if(m_dbxgenericrange.size()>=2) edm::LogVerbatim(msgcategory.c_str()) << "Generic DBX upper limit "
388  << m_dbxgenericrange[1];
389  edm::LogVerbatim(msgcategory.c_str()) << "......................";
390  }
391  edm::LogVerbatim(msgcategory.c_str()) << "-----------------------";
392  }
393 }
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
std::string const & label() const
Definition: InputTag.h:25
std::string const & process() const
Definition: InputTag.h:29
const bool isCutInactive(const std::vector< int > &range) const
std::vector< int > m_dbxrange
std::string const & instance() const
Definition: InputTag.h:26
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_historyProduct.

94  {
95 
96  const std::vector<int> apvphases = getAPVPhase(event);
97 
99  event.getByLabel(m_historyProduct,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
void EventWithHistoryFilter::set ( const edm::ParameterSet iConfig)

Definition at line 56 of file EventWithHistoryFilter.cc.

References edm::ParameterSet::getUntrackedParameter(), isAPVPhaseNotNeeded(), m_APVPhaseLabel, 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_historyProduct, m_noAPVPhase, m_partition, and printConfig().

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

56  {
57 
58 
59  m_historyProduct = iConfig.getUntrackedParameter<edm::InputTag>("historyProduct",edm::InputTag("consecutiveHEs"));
60  m_partition = iConfig.getUntrackedParameter<std::string>("partitionName","Any");
61  m_APVPhaseLabel = iConfig.getUntrackedParameter<std::string>("APVPhaseLabel","APVPhases");
62  m_dbxrange = iConfig.getUntrackedParameter<std::vector<int> >("dbxRange",std::vector<int>());
63  m_dbxrangelat = iConfig.getUntrackedParameter<std::vector<int> >("dbxRangeLtcyAware",std::vector<int>());
64  m_bxrange = iConfig.getUntrackedParameter<std::vector<int> >("absBXRange",std::vector<int>());
65  m_bxrangelat = iConfig.getUntrackedParameter<std::vector<int> >("absBXRangeLtcyAware",std::vector<int>());
66  m_bxcyclerange = iConfig.getUntrackedParameter<std::vector<int> >("absBXInCycleRange",std::vector<int>());
67  m_bxcyclerangelat = iConfig.getUntrackedParameter<std::vector<int> >("absBXInCycleRangeLtcyAware",std::vector<int>());
68  m_dbxcyclerange = iConfig.getUntrackedParameter<std::vector<int> >("dbxInCycleRange",std::vector<int>());
69  m_dbxcyclerangelat = iConfig.getUntrackedParameter<std::vector<int> >("dbxInCycleRangeLtcyAware",std::vector<int>());
70  m_dbxtrpltrange = iConfig.getUntrackedParameter<std::vector<int> >("dbxTripletRange",std::vector<int>());
71  m_dbxgenericrange = iConfig.getUntrackedParameter<std::vector<int> >("dbxGenericRange",std::vector<int>());
72  m_dbxgenericfirst = iConfig.getUntrackedParameter<int>("dbxGenericFirst",0);
73  m_dbxgenericlast = iConfig.getUntrackedParameter<int>("dbxGenericLast",1);
74 
76  printConfig();
77 
78 }
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
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
std::vector< int > m_dbxrange
std::vector< int > m_bxrange

Member Data Documentation

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

Definition at line 41 of file EventWithHistoryFilter.h.

Referenced by is_selected(), and isAPVModeNotNeeded().

std::string EventWithHistoryFilter::m_APVPhaseLabel
private

Definition at line 40 of file EventWithHistoryFilter.h.

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

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

Definition at line 46 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 44 of file EventWithHistoryFilter.h.

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

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

Definition at line 45 of file EventWithHistoryFilter.h.

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

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

Definition at line 48 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 52 of file EventWithHistoryFilter.h.

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

unsigned int EventWithHistoryFilter::m_dbxgenericlast
private

Definition at line 53 of file EventWithHistoryFilter.h.

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

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

Definition at line 51 of file EventWithHistoryFilter.h.

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

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

Definition at line 42 of file EventWithHistoryFilter.h.

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

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

Definition at line 43 of file EventWithHistoryFilter.h.

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

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

Definition at line 50 of file EventWithHistoryFilter.h.

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

edm::InputTag EventWithHistoryFilter::m_historyProduct
private

Definition at line 38 of file EventWithHistoryFilter.h.

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

bool EventWithHistoryFilter::m_noAPVPhase
private

Definition at line 54 of file EventWithHistoryFilter.h.

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

std::string EventWithHistoryFilter::m_partition
private

Definition at line 39 of file EventWithHistoryFilter.h.

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