ATLAS Offline Software
M4MuIntervalFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef GENERATORFILTERSM4MUINTERVALFILTER_H
5 #define GENERATORFILTERSM4MUINTERVALFILTER_H
6 
8 #include "GaudiKernel/ServiceHandle.h"
10 
11 namespace CLHEP {
12  class HepRandomEngine;
13 }
14 
15 class M4MuIntervalFilter : public GenFilter {
16 public:
17 
18  M4MuIntervalFilter(const std::string& name, ISvcLocator* pSvcLocator);
19  virtual ~M4MuIntervalFilter();
20  virtual StatusCode filterInitialize();
21  virtual StatusCode filterFinalize();
22  virtual StatusCode filterEvent();
23 
24 private:
25 
26  CLHEP::HepRandomEngine* getRandomEngine(const std::string& streamName,
27  const EventContext& ctx) const;
28 
29  double m_maxEta;
30  double m_minPt; // Rapidity acceptance
31 
32  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc"};// Random number generator
33 
34  double m_prob2medium;
35  double m_prob2low;
36  double m_prob2high;
37  double m_m4mulow;
38  double m_m4muhigh;
40 
41 public:
42  double getEventWeight(double m) const;
43 };
44 
45 #endif
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
GenFilter.h
M4MuIntervalFilter::getEventWeight
double getEventWeight(double m) const
Definition: M4MuIntervalFilter.cxx:134
M4MuIntervalFilter::m_m4mulow
double m_m4mulow
Definition: M4MuIntervalFilter.h:37
M4MuIntervalFilter::filterEvent
virtual StatusCode filterEvent()
Definition: M4MuIntervalFilter.cxx:57
M4MuIntervalFilter::m_prob2low
double m_prob2low
Definition: M4MuIntervalFilter.h:35
M4MuIntervalFilter::filterInitialize
virtual StatusCode filterInitialize()
Definition: M4MuIntervalFilter.cxx:38
M4MuIntervalFilter::m_maxEta
double m_maxEta
Definition: M4MuIntervalFilter.h:29
GenFilter
Base class for event generator filtering modules.
Definition: GenFilter.h:30
M4MuIntervalFilter::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: M4MuIntervalFilter.h:32
M4MuIntervalFilter::getRandomEngine
CLHEP::HepRandomEngine * getRandomEngine(const std::string &streamName, const EventContext &ctx) const
Definition: M4MuIntervalFilter.cxx:150
M4MuIntervalFilter::~M4MuIntervalFilter
virtual ~M4MuIntervalFilter()
Definition: M4MuIntervalFilter.cxx:36
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
M4MuIntervalFilter::m_ApplyReWeighting
bool m_ApplyReWeighting
Definition: M4MuIntervalFilter.h:39
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
M4MuIntervalFilter::m_prob2high
double m_prob2high
Definition: M4MuIntervalFilter.h:36
M4MuIntervalFilter
Definition: M4MuIntervalFilter.h:15
M4MuIntervalFilter::filterFinalize
virtual StatusCode filterFinalize()
Definition: M4MuIntervalFilter.cxx:53
M4MuIntervalFilter::M4MuIntervalFilter
M4MuIntervalFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: M4MuIntervalFilter.cxx:23
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
M4MuIntervalFilter::m_prob2medium
double m_prob2medium
Definition: M4MuIntervalFilter.h:34
AthenaPoolExample_Copy.streamName
string streamName
Definition: AthenaPoolExample_Copy.py:39
M4MuIntervalFilter::m_minPt
double m_minPt
Definition: M4MuIntervalFilter.h:30
M4MuIntervalFilter::m_m4muhigh
double m_m4muhigh
Definition: M4MuIntervalFilter.h:38
IAthRNGSvc.h
ServiceHandle< IAthRNGSvc >