ATLAS Offline Software
EvgenOTFTopUpSvc.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef XAOD_ANALYSIS
6 
8 
9 EvgenOTFTopUpSvc::EvgenOTFTopUpSvc(const std::string& name, ISvcLocator* pSvcLocator)
10  : AthService(name, pSvcLocator)
11  , m_nUsedSoFar(0)
12  , m_newFileFlag(false)
13  , m_nTotal(0)
14  , m_nIterations(0)
15 {
16  declareProperty("Efficiency", m_efficiency=0.9, "Estimate of Pythia/Herwig matching efficiency and filter efficiency");
17  declareProperty("ExecDuringInit", m_execDuringInit=false, "Execute OTF algorithm during intialize");
18  declareProperty("NPerFile", m_nPerFile=long(5000./0.9), "Number of events to make per file with OTF algorithm");
19  declareProperty("NewFileName", m_newFileName="events.lhe", "Please that the new OTF events went");
20 }
21 
23  ATH_MSG_INFO("Total on the fly generated events: " << m_nTotal << " over " << m_nIterations << " iterations.");
24  return StatusCode::SUCCESS;
25 }
26 
28 StatusCode EvgenOTFTopUpSvc::queryInterface(const InterfaceID& riid, void** ppvInterface){
29  if ( IID_IEvgenOTFTopUpSvc == riid )
30  *ppvInterface = (IEvgenOTFTopUpSvc*)this;
31  else {
32  // Interface is not directly available: try out a base class
33  return Service::queryInterface(riid, ppvInterface);
34  }
35  addRef();
36  return StatusCode::SUCCESS;
37 }
38 
39 #endif
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
EvgenOTFTopUpSvc::m_nIterations
long m_nIterations
Book-keeping: total number of OTF iterations.
Definition: EvgenOTFTopUpSvc.h:60
EvgenOTFTopUpSvc::m_execDuringInit
bool m_execDuringInit
Execute OTF during initialization? (Set in JO)
Definition: EvgenOTFTopUpSvc.h:52
EvgenOTFTopUpSvc::m_nTotal
long m_nTotal
Book-keeping: total number of generated events.
Definition: EvgenOTFTopUpSvc.h:59
IEvgenOTFTopUpSvc
Definition: IEvgenOTFTopUpSvc.h:18
EvgenOTFTopUpSvc::finalize
StatusCode finalize()
Definition: EvgenOTFTopUpSvc.cxx:22
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EvgenOTFTopUpSvc::m_nPerFile
long m_nPerFile
Number of events per LHE file (Set in JO)
Definition: EvgenOTFTopUpSvc.h:53
EvgenOTFTopUpSvc::m_newFileName
std::string m_newFileName
Name of the new OTF generated file.
Definition: EvgenOTFTopUpSvc.h:57
EvgenOTFTopUpSvc::m_efficiency
double m_efficiency
Rough efficiency in Pythia/Herwig (Set in JO)
Definition: EvgenOTFTopUpSvc.h:55
EvgenOTFTopUpSvc::EvgenOTFTopUpSvc
EvgenOTFTopUpSvc(const std::string &name, ISvcLocator *pSvcLocator)
Definition: EvgenOTFTopUpSvc.cxx:9
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
EvgenOTFTopUpSvc::queryInterface
StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
Query the interfaces - this is copied and pasted :(.
Definition: EvgenOTFTopUpSvc.cxx:28
EvgenOTFTopUpSvc.h