ATLAS Offline Software
AssocFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // AssocFilter.h
7 // Header file for class AssocFilter
8 // Author: S.Binet<binet@cern.ch>
10 #ifndef ANALYSISASSOCIATION_ASSOCFILTER_H
11 #define ANALYSISASSOCIATION_ASSOCFILTER_H 1
12 
21 // STL includes
22 
23 
24 // Gaudi includes
26 #include "GaudiKernel/MsgStream.h"
27 
28 #include <optional>
29 
30 // FourMom includes
31 #include "FourMomUtils/P4Helpers.h"
32 
33 // AnalysisUtils includes
37 
38 // AnalysisAssociation
40 
41 // Forward declaration
42 
43 template< typename OBJ, typename ASSO>
44 class AssocFilter : virtual public IAssocFilter<OBJ,ASSO>
45 {
46 
48  // Public methods:
50  public:
51 
55 
58  AssocFilter( const AssocFilter& rhs );
59 
60  // Constructor with parameters:
61 
64  virtual ~AssocFilter();
65 
69 
71  // Const methods:
73 
78  virtual bool isAccepted( const OBJ * object,
79  const ASSO * associated ) const;
80 
83  double deltaPxMin() const;
84 
87  double deltaPxMax() const;
88 
91  double deltaPyMin() const;
92 
95  double deltaPyMax() const;
96 
99  double deltaPzMin() const;
100 
103  double deltaPzMax() const;
104 
107  double deltaEneMin() const;
108 
111  double deltaEneMax() const;
112 
115  double deltaEtaMin() const;
116 
119  double deltaEtaMax() const;
120 
123  double deltaPhiMin() const;
124 
127  double deltaPhiMax() const;
128 
131  double deltaMassMin() const;
132 
135  double deltaMassMax() const;
136 
139  double deltaPtMin() const;
140 
143  double deltaPtMax() const;
144 
147  double deltaRMin() const;
148 
151  double deltaRMax() const;
152 
154  // Non-const methods:
156 
160  virtual void reset();
161 
166  virtual void setFilter( const IFilterCuts * ifilter );
167 
168  void setDeltaPxMin( const double deltaPxMin );
169  void setDeltaPxMax( const double deltaPxMax );
170  void setDeltaPx( const double deltaPxMin, const double deltaPxMax );
171 
172  void setDeltaPyMin( const double deltaPyMin );
173  void setDeltaPyMax( const double deltaPyMax );
174  void setDeltaPy( const double deltaPyMin, const double deltaPyMax );
175 
176  void setDeltaPzMin( const double deltaPzMin );
177  void setDeltaPzMax( const double deltaPzMax );
178  void setDeltaPz( const double deltaPzMin, const double deltaPzMax );
179 
180  void setDeltaEneMin( const double deltaEneMin );
181  void setDeltaEneMax( const double deltaEneMax );
182  void setDeltaEne( const double deltaEneMin, const double deltaEneMax );
183 
184  void setDeltaEtaMin( const double deltaEtaMin );
185  void setDeltaEtaMax( const double deltaEtaMax );
186  void setDeltaEta( const double deltaEtaMin, const double deltaEtaMax );
187 
188  void setDeltaPhiMin( const double deltaPhiMin );
189  void setDeltaPhiMax( const double deltaPhiMax );
190  void setDeltaPhi( const double deltaPhiMin, const double deltaPhiMax );
191 
192  void setDeltaMassMin( const double massMin );
193  void setDeltaMassMax( const double massMax );
194  void setDeltaMass( const double deltaMassMin, const double deltaMassMax );
195 
196  void setDeltaPtMin( const double deltaPtMin );
197  void setDeltaPtMax( const double deltaPtMax );
198  void setDeltaPt( const double deltaPtMin, const double deltaPtMax );
199 
200  void setDeltaRMin( const double deltaRMin );
201  void setDeltaRMax( const double deltaRMax );
202  void setDeltaR( const double deltaRMin, const double deltaRMax );
203 
204  void setDeltaThetaMin( const double deltaThetaMin );
205  void setDeltaThetaMax( const double deltaThetaMax );
206  void setDeltaTheta( const double deltaThetaMin,
207  const double deltaThetaMax );
208 
209  void setDeltaCosThetaMin( const double deltaCosThetaMin );
210  void setDeltaCosThetaMax( const double deltaCosThetaMax );
211  void setDeltaCosTheta( const double deltaCosThetaMin,
212  const double deltaCosThetaMax );
213 
215  // Protected data:
217  protected:
218 
219  // Cut variables
220 
224 
228 
232 
236 
240 
244 
248 
252 
256 
260 
264 
266  // Private methods:
268  private :
269 };
270 
271 
273 // Implementation :
275 template<typename OBJ, typename ASSO>
277  IAssocFilter<OBJ,ASSO>(),
278  m_deltaPx(),
279  m_deltaPy(),
280  m_deltaPz(),
281  m_deltaEne(),
282  m_deltaEta(),
283  m_deltaPhi(),
284  m_deltaMass(),
285  m_deltaPt(),
286  m_deltaR(),
287  m_deltaTheta(),
288  m_deltaCosTheta()
289 {}
290 
291 template<typename OBJ, typename ASSO>
293  IAssocFilter<OBJ,ASSO>(rhs),
294  m_deltaPx( rhs.m_deltaPx ),
295  m_deltaPy( rhs.m_deltaPy ),
296  m_deltaPz( rhs.m_deltaPz ),
297  m_deltaEne( rhs.m_deltaEne ),
298  m_deltaEta( rhs.m_deltaEta ),
299  m_deltaPhi( rhs.m_deltaPhi ),
300  m_deltaMass( rhs.m_deltaMass ),
301  m_deltaPt( rhs.m_deltaPt ),
302  m_deltaR( rhs.m_deltaR ),
303  m_deltaTheta( rhs.m_deltaTheta ),
304  m_deltaCosTheta( rhs.m_deltaCosTheta )
305 {}
306 
307 template<typename OBJ, typename ASSO>
310 {
311  if ( this != &rhs ) {
313  m_deltaPx = rhs.m_deltaPx;
314  m_deltaPy = rhs.m_deltaPy;
315  m_deltaPz = rhs.m_deltaPz;
316  m_deltaEne = rhs.m_deltaEne;
317  m_deltaEta = rhs.m_deltaEta;
318  m_deltaPhi = rhs.m_deltaPhi;
319  m_deltaMass = rhs.m_deltaMass;
320  m_deltaPt = rhs.m_deltaPt;
321  m_deltaR = rhs.m_deltaR;
322  m_deltaTheta = rhs.m_deltaTheta;
323  m_deltaCosTheta = rhs.m_deltaCosTheta;
324  }
325  return *this;
326 }
327 
328 template<typename OBJ, typename ASSO>
330 
332 // Const methods:
334 template<typename OBJ, typename ASSO>
335 bool AssocFilter<OBJ, ASSO>::isAccepted( const OBJ * object,
336  const ASSO * associated ) const
337 {
338  bool isAccepted = true;
339 
340  if ( m_deltaPx.isActive() ) {
342  m_deltaPx.isInRange( std::fabs( object->px() - associated->px() ) );
343  }
344 
345  if ( m_deltaPy.isActive() ) {
347  m_deltaPy.isInRange( std::fabs( object->py() - associated->py() ) );
348  }
349 
350  if ( m_deltaPz.isActive() ) {
352  m_deltaPz.isInRange( std::fabs( object->pz() - associated->pz() ) );
353  }
354 
355  if ( m_deltaEne.isActive() ) {
357  m_deltaEne.isInRange( std::fabs( object->e() - associated->e() ) );
358  }
359 
360  if ( m_deltaEta.isActive() ) {
362  m_deltaEta.isInRange( std::fabs(object->eta() - associated->eta()) );
363  }
364 
365  if ( m_deltaPhi.isActive() ) {
367  m_deltaPhi.isInRange ( std::fabs(P4Helpers::deltaPhi(object,associated)) );
368  }
369 
370  if ( m_deltaMass.isActive() ) {
372  m_deltaMass.isInRange( std::fabs( object->m() - associated->m() ) );
373  }
374 
375  if ( m_deltaPt.isActive() ) {
377  m_deltaPt.isInRange ( std::fabs( object->pt() - associated->pt() ) );
378  }
379 
380  if ( m_deltaR.isActive() ) {
381  isAccepted = isAccepted &&
382  m_deltaR.isInRange( P4Helpers::deltaR(object, associated ) );
383  }
384 
385  /*
386  if ( m_deltaTheta.isActive() ) {
387  isAccepted = isAccepted &&
388  m_deltaTheta.isInRange( );
389  }
390 
391  if ( m_deltaCosTheta.isActive() ) {
392  isAccepted = isAccepted &&
393  m_deltaCosTheta.isInRange( );
394  }
395  */
396 
397  return isAccepted;
398 }
399 
400 template<typename OBJ, typename ASSO>
402 {
403  return m_deltaPx.lower();
404 }
405 
406 template<typename OBJ, typename ASSO>
408 {
409  return m_deltaPx.upper();
410 }
411 
412 template<typename OBJ, typename ASSO>
414 {
415  return m_deltaPy.lower();
416 }
417 
418 template<typename OBJ, typename ASSO>
420 {
421  return m_deltaPy.upper();
422 }
423 
424 template<typename OBJ, typename ASSO>
426 {
427  return m_deltaPz.lower();
428 }
429 
430 template<typename OBJ, typename ASSO>
432 {
433  return m_deltaPz.upper();
434 }
435 
436 template<typename OBJ, typename ASSO>
438 {
439  return m_deltaEne.lower();
440 }
441 
442 template<typename OBJ, typename ASSO>
444 {
445  return m_deltaEne.upper();
446 }
447 
448 template<typename OBJ, typename ASSO>
450 {
451  return m_deltaEta.lower();
452 }
453 
454 template<typename OBJ, typename ASSO>
456 {
457  return m_deltaEta.upper();
458 }
459 
460 template<typename OBJ, typename ASSO>
462 {
463  return m_deltaPhi.lower();
464 }
465 
466 template<typename OBJ, typename ASSO>
468 {
469  return m_deltaPhi.upper();
470 }
471 
472 template<typename OBJ, typename ASSO>
474 {
475  return m_deltaMass.lower();
476 }
477 
478 template<typename OBJ, typename ASSO>
480 {
481  return m_deltaMass.upper();
482 }
483 
484 template<typename OBJ, typename ASSO>
486 {
487  return m_deltaPt.lower();
488 }
489 
490 template<typename OBJ, typename ASSO>
492 {
493  return m_deltaPt.upper();
494 }
495 
496 template<typename OBJ, typename ASSO>
498 {
499  return m_deltaR.lower();
500 }
501 
502 template<typename OBJ, typename ASSO>
504 {
505  return m_deltaR.upper();
506 }
507 
509 // Non-const methods:
511 template<typename OBJ, typename ASSO>
513 {
514  m_deltaR.includeAll();
515  m_deltaPx.includeAll();
516  m_deltaPy.includeAll();
517  m_deltaPz.includeAll();
518  m_deltaEne.includeAll();
519  m_deltaEta.includeAll();
520  m_deltaPhi.includeAll();
521  m_deltaMass.includeAll();
522  m_deltaPt.includeAll();
523  m_deltaTheta.includeAll();
524  m_deltaCosTheta.includeAll();
525 }
526 
527 template<typename OBJ, typename ASSO>
529 {
530  if ( ifilter ) {
531  const AssocFilter<OBJ,ASSO> * assocFilter =
532  dynamic_cast<const AssocFilter<OBJ,ASSO> *>(ifilter );
533 
534  if ( assocFilter ) {
535  m_deltaPx = assocFilter->m_deltaPx;
536  m_deltaPy = assocFilter->m_deltaPy;
537  m_deltaPz = assocFilter->m_deltaPz;
538  m_deltaEne = assocFilter->m_deltaEne;
539  m_deltaEta = assocFilter->m_deltaEta;
540  m_deltaPhi = assocFilter->m_deltaPhi;
541  m_deltaMass = assocFilter->m_deltaMass;
542  m_deltaPt = assocFilter->m_deltaPt;
543  m_deltaR = assocFilter->m_deltaR;
544  m_deltaTheta = assocFilter->m_deltaTheta;
545  m_deltaCosTheta = assocFilter->m_deltaCosTheta;
546  } else {
547  MsgStream log( Athena::getMessageSvc(), "AssocFilter" );
548  log << MSG::ERROR
549  << "Can't dynamic_cast " << ifilter << " to an AssocFilter"
550  << endmsg;
551  }
552  } //> ifilter is a valid pointer
553  return;
554 }
555 
556 template<typename OBJ, typename ASSO>
557 void AssocFilter<OBJ, ASSO>::setDeltaPxMin( const double deltaPxMin )
558 {
559  m_deltaPx.setMin( deltaPxMin );
560 }
561 
562 template<typename OBJ, typename ASSO>
563 void AssocFilter<OBJ, ASSO>::setDeltaPxMax( const double deltaPxMax )
564 {
565  m_deltaPx.setMax( deltaPxMax );
566 }
567 
568 template<typename OBJ, typename ASSO>
569 void AssocFilter<OBJ, ASSO>::setDeltaPx( const double deltaPxMin,
570  const double deltaPxMax )
571 {
572  m_deltaPx.setRange( deltaPxMin, deltaPxMax );
573 }
574 
575 template<typename OBJ, typename ASSO>
576 void AssocFilter<OBJ, ASSO>::setDeltaPyMin( const double deltaPyMin )
577 {
578  m_deltaPy.setMin( deltaPyMin );
579 }
580 
581 template<typename OBJ, typename ASSO>
582 void AssocFilter<OBJ, ASSO>::setDeltaPyMax( const double deltaPyMax )
583 {
584  m_deltaPy.setMax( deltaPyMax );
585 }
586 
587 template<typename OBJ, typename ASSO>
588 void AssocFilter<OBJ, ASSO>::setDeltaPy( const double deltaPyMin,
589  const double deltaPyMax )
590 {
591  m_deltaPy.setRange( deltaPyMin, deltaPyMax );
592 }
593 
594 template<typename OBJ, typename ASSO>
595 void AssocFilter<OBJ, ASSO>::setDeltaPzMin( const double deltaPzMin )
596 {
597  m_deltaPz.setMin( deltaPzMin );
598 }
599 
600 template<typename OBJ, typename ASSO>
601 void AssocFilter<OBJ, ASSO>::setDeltaPzMax( const double deltaPzMax )
602 {
603  m_deltaPz.setMax( deltaPzMax );
604 }
605 
606 template<typename OBJ, typename ASSO>
607 void AssocFilter<OBJ, ASSO>::setDeltaPz( const double deltaPzMin,
608  const double deltaPzMax )
609 {
610  m_deltaPz.setRange( deltaPzMin, deltaPzMax );
611 }
612 
613 
614 template<typename OBJ, typename ASSO>
615 void AssocFilter<OBJ, ASSO>::setDeltaEneMin( const double deltaEneMin )
616 {
617  m_deltaEne.setMin( deltaEneMin );
618 }
619 
620 template<typename OBJ, typename ASSO>
621 void AssocFilter<OBJ, ASSO>::setDeltaEneMax( const double deltaEneMax )
622 {
623  m_deltaEne.setMax( deltaEneMax );
624 }
625 
626 template<typename OBJ, typename ASSO>
627 void AssocFilter<OBJ, ASSO>::setDeltaEne( const double deltaEneMin,
628  const double deltaEneMax )
629 {
630  m_deltaEne.setRange( deltaEneMin, deltaEneMax );
631 }
632 
633 template<typename OBJ, typename ASSO>
634 void AssocFilter<OBJ, ASSO>::setDeltaEtaMin( const double deltaEtaMin )
635 {
636  m_deltaEta.setMin(deltaEtaMin);
637 }
638 
639 template<typename OBJ, typename ASSO>
640 void AssocFilter<OBJ, ASSO>::setDeltaEtaMax( const double deltaEtaMax )
641 {
642  m_deltaEta.setMax(deltaEtaMax);
643 }
644 
645 template<typename OBJ, typename ASSO>
646 void AssocFilter<OBJ, ASSO>::setDeltaEta( const double deltaEtaMin,
647  const double deltaEtaMax )
648 {
649  m_deltaEta.setRange( deltaEtaMin, deltaEtaMax );
650 }
651 
652 template<typename OBJ, typename ASSO>
653 void AssocFilter<OBJ, ASSO>::setDeltaPhiMin( const double deltaPhiMin )
654 {
655  m_deltaPhi.setMin(deltaPhiMin);
656 }
657 
658 template<typename OBJ, typename ASSO>
659 void AssocFilter<OBJ, ASSO>::setDeltaPhiMax( const double deltaPhiMax )
660 {
661  m_deltaPhi.setMax(deltaPhiMax);
662 }
663 
664 template<typename OBJ, typename ASSO>
665 void AssocFilter<OBJ, ASSO>::setDeltaPhi( const double deltaPhiMin,
666  const double deltaPhiMax )
667 {
668  m_deltaPhi.setRange( deltaPhiMin, deltaPhiMax );
669 }
670 
671 template<typename OBJ, typename ASSO>
672 void AssocFilter<OBJ, ASSO>::setDeltaMassMin( const double deltaMassMin )
673 {
674  m_deltaMass.setMin(deltaMassMin);
675 }
676 
677 template<typename OBJ, typename ASSO>
678 void AssocFilter<OBJ, ASSO>::setDeltaMassMax( const double deltaMassMax )
679 {
680  m_deltaMass.setMax(deltaMassMax);
681 }
682 
683 template<typename OBJ, typename ASSO>
684 void AssocFilter<OBJ, ASSO>::setDeltaMass( const double deltaMassMin,
685  const double deltaMassMax )
686 {
687  m_deltaMass.setRange( deltaMassMin, deltaMassMax );
688 }
689 
690 template<typename OBJ, typename ASSO>
691 void AssocFilter<OBJ, ASSO>::setDeltaPtMin( const double deltaPtMin )
692 {
693  m_deltaPt.setMin(deltaPtMin);
694 }
695 
696 template<typename OBJ, typename ASSO>
697 void AssocFilter<OBJ, ASSO>::setDeltaPtMax( const double deltaPtMax )
698 {
699  m_deltaPt.setMax(deltaPtMax);
700 }
701 
702 template<typename OBJ, typename ASSO>
703 void AssocFilter<OBJ, ASSO>::setDeltaPt( const double deltaPtMin,
704  const double deltaPtMax )
705 {
706  m_deltaPt.setRange( deltaPtMin, deltaPtMax );
707 }
708 
709 template<typename OBJ, typename ASSO>
710 void AssocFilter<OBJ, ASSO>::setDeltaRMin( const double deltaRMin )
711 {
712  m_deltaR.setMin( deltaRMin );
713 }
714 
715 template<typename OBJ, typename ASSO>
716 void AssocFilter<OBJ, ASSO>::setDeltaRMax( const double deltaRMax )
717 {
718  m_deltaR.setMax( deltaRMax );
719 }
720 
721 template<typename OBJ, typename ASSO>
722 void AssocFilter<OBJ, ASSO>::setDeltaR( const double deltaRMin,
723  const double deltaRMax )
724 {
725  m_deltaR.setRange( deltaRMin, deltaRMax );
726 }
727 
728 template<typename OBJ, typename ASSO>
729 void AssocFilter<OBJ, ASSO>::setDeltaThetaMin( const double deltaThetaMin )
730 {
731  m_deltaTheta.setMin( deltaThetaMin );
732 }
733 
734 template<typename OBJ, typename ASSO>
735 void AssocFilter<OBJ, ASSO>::setDeltaThetaMax( const double deltaThetaMax )
736 {
737  m_deltaTheta.setMax( deltaThetaMax );
738 }
739 
740 template<typename OBJ, typename ASSO>
741 void AssocFilter<OBJ, ASSO>::setDeltaTheta( const double deltaThetaMin,
742  const double deltaThetaMax )
743 {
744  m_deltaTheta.setRange( deltaThetaMin, deltaThetaMax );
745 }
746 
747 template<typename OBJ, typename ASSO>
748 void AssocFilter<OBJ, ASSO>::setDeltaCosThetaMin( const double deltaCosThetaMin )
749 {
750  m_deltaCosTheta.setMin( deltaCosThetaMin );
751 }
752 
753 template<typename OBJ, typename ASSO>
754 void AssocFilter<OBJ, ASSO>::setDeltaCosThetaMax( const double deltaCosThetaMax )
755 {
756  m_deltaCosTheta.setMax( deltaCosThetaMax );
757 }
758 
759 template<typename OBJ, typename ASSO>
760 void AssocFilter<OBJ, ASSO>::setDeltaCosTheta( const double deltaCosThetaMin,
761  const double deltaCosThetaMax )
762 {
763  m_deltaCosTheta.setRange( deltaCosThetaMin, deltaCosThetaMax );
764 }
765 
766 
767 #endif //> ANALYSISASSOCIATION_ASSOCFILTER_H
AssocFilter::setDeltaEneMax
void setDeltaEneMax(const double deltaEneMax)
Definition: AssocFilter.h:621
AssocFilter::setDeltaCosThetaMin
void setDeltaCosThetaMin(const double deltaCosThetaMin)
Definition: AssocFilter.h:748
AssocFilter::setFilter
virtual void setFilter(const IFilterCuts *ifilter)
Copies the IFilterCuts properties of the given object to the current IFilterCuts object (ie: it copie...
Definition: AssocFilter.h:528
AssocFilter::m_deltaTheta
FilterRange m_deltaTheta
Required range in theta (min/max)
Definition: AssocFilter.h:259
AssocFilter::deltaPxMin
double deltaPxMin() const
Returns the minimum px required by the filter.
Definition: AssocFilter.h:401
getMessageSvc.h
singleton-like access to IMessageSvc via open function and helper
AssocFilter::setDeltaPt
void setDeltaPt(const double deltaPtMin, const double deltaPtMax)
Definition: AssocFilter.h:703
AssocFilter::m_deltaEne
FilterRange m_deltaEne
Required range in energy (min/max)
Definition: AssocFilter.h:235
AssocFilter::setDeltaCosTheta
void setDeltaCosTheta(const double deltaCosThetaMin, const double deltaCosThetaMax)
Definition: AssocFilter.h:760
AssocFilter::setDeltaEne
void setDeltaEne(const double deltaEneMin, const double deltaEneMax)
Definition: AssocFilter.h:627
AssocFilter::setDeltaPhiMin
void setDeltaPhiMin(const double deltaPhiMin)
Definition: AssocFilter.h:653
AssocFilter::setDeltaPhiMax
void setDeltaPhiMax(const double deltaPhiMax)
Definition: AssocFilter.h:659
AssocFilter::setDeltaPyMin
void setDeltaPyMin(const double deltaPyMin)
Definition: AssocFilter.h:576
FilterRange
FilterRange implements the range (ie: [min, max]) the filters will use to take their filtering decisi...
Definition: FilterRange.h:35
AssocFilter::m_deltaEta
FilterRange m_deltaEta
Required range in eta (min/max)
Definition: AssocFilter.h:239
AssocFilter::setDeltaPzMax
void setDeltaPzMax(const double deltaPzMax)
Definition: AssocFilter.h:601
AssocFilter::setDeltaRMax
void setDeltaRMax(const double deltaRMax)
Definition: AssocFilter.h:716
AssocFilter::AssocFilter
AssocFilter()
Default constructor:
Definition: AssocFilter.h:276
AssocFilter::m_deltaPx
FilterRange m_deltaPx
Required range in px (min/max)
Definition: AssocFilter.h:223
AssocFilter::deltaPzMax
double deltaPzMax() const
Returns the maximum pz required by the filter.
Definition: AssocFilter.h:431
PhiFilterRange
PhiFilterRange implements the range (ie: [min, max]) the filters will use to take their filtering dec...
Definition: PhiFilterRange.h:30
AssocFilter::setDeltaEtaMax
void setDeltaEtaMax(const double deltaEtaMax)
Definition: AssocFilter.h:640
AssocFilter::setDeltaR
void setDeltaR(const double deltaRMin, const double deltaRMax)
Definition: AssocFilter.h:722
IAssocFilter.h
AssocFilter::deltaPtMin
double deltaPtMin() const
Returns the minimum pt required by the filter.
Definition: AssocFilter.h:485
AssocFilter::m_deltaPhi
PhiFilterRange m_deltaPhi
Required range in phi (min/max)
Definition: AssocFilter.h:243
AssocFilter::setDeltaThetaMin
void setDeltaThetaMin(const double deltaThetaMin)
Definition: AssocFilter.h:729
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
IAssocFilter
Definition: IAssocFilter.h:33
AssocFilter::deltaPyMin
double deltaPyMin() const
Returns the minimum py required by the filter.
Definition: AssocFilter.h:413
AssocFilter::AssocFilter
AssocFilter(const AssocFilter &rhs)
Copy constructor:
Definition: AssocFilter.h:292
AssocFilter::deltaPhiMax
double deltaPhiMax() const
Returns the maximum phi required by the filter.
Definition: AssocFilter.h:467
AssocFilter::~AssocFilter
virtual ~AssocFilter()
Destructor:
Definition: AssocFilter.h:329
AssocFilter::deltaRMin
double deltaRMin() const
Returns the minimum deltaR required by the filter.
Definition: AssocFilter.h:497
AssocFilter::deltaPzMin
double deltaPzMin() const
Returns the minimum pz required by the filter.
Definition: AssocFilter.h:425
AssocFilter::deltaMassMax
double deltaMassMax() const
Returns the maximum mass required by the filter.
Definition: AssocFilter.h:479
AssocFilter::setDeltaTheta
void setDeltaTheta(const double deltaThetaMin, const double deltaThetaMax)
Definition: AssocFilter.h:741
AssocFilter::deltaEtaMin
double deltaEtaMin() const
Returns the minimum eta required by the filter.
Definition: AssocFilter.h:449
P4Helpers::deltaPhi
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
Definition: P4Helpers.h:29
FilterRange.h
AssocFilter::setDeltaPhi
void setDeltaPhi(const double deltaPhiMin, const double deltaPhiMax)
Definition: AssocFilter.h:665
AssocFilter::setDeltaPtMax
void setDeltaPtMax(const double deltaPtMax)
Definition: AssocFilter.h:697
AssocFilter::setDeltaEta
void setDeltaEta(const double deltaEtaMin, const double deltaEtaMax)
Definition: AssocFilter.h:646
InDetSecVtxTruthMatchUtils::isAccepted
bool isAccepted(int matchInfo)
Definition: InDetSecVtxTruthMatchTool.h:73
AssocFilter::deltaEtaMax
double deltaEtaMax() const
Returns the maximum eta required by the filter.
Definition: AssocFilter.h:455
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
AssocFilter::setDeltaMassMax
void setDeltaMassMax(const double massMax)
Definition: AssocFilter.h:678
AssocFilter
Definition: AssocFilter.h:45
AssocFilter::m_deltaR
FilterRange m_deltaR
Required range in deltaR (min/max)
Definition: AssocFilter.h:255
P4Helpers::deltaR
double deltaR(const I4Momentum &p4, double eta, double phi)
from 1 I4Momentum
Definition: P4Helpers.h:196
AssocFilter::setDeltaRMin
void setDeltaRMin(const double deltaRMin)
Definition: AssocFilter.h:710
P4Helpers.h
AssocFilter::setDeltaPz
void setDeltaPz(const double deltaPzMin, const double deltaPzMax)
Definition: AssocFilter.h:607
AssocFilter::deltaPtMax
double deltaPtMax() const
Returns the maximum pt required by the filter.
Definition: AssocFilter.h:491
AssocFilter::setDeltaMass
void setDeltaMass(const double deltaMassMin, const double deltaMassMax)
Definition: AssocFilter.h:684
AssocFilter::isAccepted
virtual bool isAccepted(const OBJ *object, const ASSO *associated) const
Main filter method.
Definition: AssocFilter.h:335
AssocFilter::m_deltaPy
FilterRange m_deltaPy
Required range in py (min/max)
Definition: AssocFilter.h:227
AssocFilter::setDeltaMassMin
void setDeltaMassMin(const double massMin)
Definition: AssocFilter.h:672
AssocFilter::m_deltaCosTheta
FilterRange m_deltaCosTheta
Required range in cos(theta) (min/max)
Definition: AssocFilter.h:263
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
PhiFilterRange.h
AssocFilter::setDeltaPtMin
void setDeltaPtMin(const double deltaPtMin)
Definition: AssocFilter.h:691
AssocFilter::deltaPyMax
double deltaPyMax() const
Returns the maximum py required by the filter.
Definition: AssocFilter.h:419
AssocFilter::reset
virtual void reset()
Reset the range cuts for the internal variables (px,py,...) After calling this method,...
Definition: AssocFilter.h:512
AssocFilter::setDeltaPzMin
void setDeltaPzMin(const double deltaPzMin)
Definition: AssocFilter.h:595
AssocFilter::setDeltaPx
void setDeltaPx(const double deltaPxMin, const double deltaPxMax)
Definition: AssocFilter.h:569
AssocFilter::setDeltaEtaMin
void setDeltaEtaMin(const double deltaEtaMin)
Definition: AssocFilter.h:634
AssocFilter::deltaPhiMin
double deltaPhiMin() const
Returns the minimum phi required by the filter.
Definition: AssocFilter.h:461
AssocFilter::operator=
AssocFilter & operator=(const AssocFilter &rhs)
Assignment operator:
Definition: AssocFilter.h:309
AssocFilter::deltaRMax
double deltaRMax() const
Returns the maximum deltaR required by the filter.
Definition: AssocFilter.h:503
AssocFilter::deltaMassMin
double deltaMassMin() const
Returns the minimum mass required by the filter.
Definition: AssocFilter.h:473
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
AssocFilter::deltaEneMax
double deltaEneMax() const
Returns the maximum energy required by the filter.
Definition: AssocFilter.h:443
IAssocFilter::operator=
IAssocFilter & operator=(const IAssocFilter< OBJ, ASSO > &rhs)
Assignment operator:
Definition: IAssocFilter.h:104
AssocFilter::m_deltaPz
FilterRange m_deltaPz
Required range in pz (min/max)
Definition: AssocFilter.h:231
pickleTool.object
object
Definition: pickleTool.py:30
IFilterCuts
IFilterCuts is a class which is used internally by the filters to copy their cut properties one to ...
Definition: IFilterCuts.h:21
AssocFilter::setDeltaPxMax
void setDeltaPxMax(const double deltaPxMax)
Definition: AssocFilter.h:563
AssocFilter::m_deltaPt
FilterRange m_deltaPt
Required range in pt (min/max)
Definition: AssocFilter.h:251
AssocFilter::setDeltaPyMax
void setDeltaPyMax(const double deltaPyMax)
Definition: AssocFilter.h:582
AssocFilter::setDeltaPxMin
void setDeltaPxMin(const double deltaPxMin)
Definition: AssocFilter.h:557
AssocFilter::setDeltaPy
void setDeltaPy(const double deltaPyMin, const double deltaPyMax)
Definition: AssocFilter.h:588
AssocFilter::setDeltaCosThetaMax
void setDeltaCosThetaMax(const double deltaCosThetaMax)
Definition: AssocFilter.h:754
AssocFilter::deltaEneMin
double deltaEneMin() const
Returns the minimum energy required by the filter.
Definition: AssocFilter.h:437
AssocFilter::setDeltaThetaMax
void setDeltaThetaMax(const double deltaThetaMax)
Definition: AssocFilter.h:735
AssocFilter::deltaPxMax
double deltaPxMax() const
Returns the maximum px required by the filter.
Definition: AssocFilter.h:407
AnalysisMisc.h
AssocFilter::m_deltaMass
FilterRange m_deltaMass
Required range in mass (min/max)
Definition: AssocFilter.h:247
AssocFilter::setDeltaEneMin
void setDeltaEneMin(const double deltaEneMin)
Definition: AssocFilter.h:615