Skip to content
Snippets Groups Projects
Commit 3e15b22c authored by Tadej Novak's avatar Tadej Novak
Browse files

Add CLHEP random engine to TFCSSimulationState

Former-commit-id: 249818c2862457eb93f142a30c044a94c750f6a1
parent 47f112be
No related branches found
No related tags found
58 merge requests!46457Draft: Adding the tools to run over data,!46454Draft: Adding the tools to be able to run over data,!45045WIP: Include another condition for hit merging in FCS_StepInfoSD.cxx,!45043Merge branch 'Update-DAOD_IDNCB' into '21.2',!44869Draft: Update to candidate store,!4217921.9-first_steps-InDetTrackingGeometryXML,!42171Add LAr cell DQ plots to UPC stream,!40342WIP: ATR-22546 - add missing trigger to MC16a,!39162Draft: Insert BCM' support,!38765Bis78 cabling,!37483Fix in monitoring of Pixel FE errors,!36893Fix size of RPC active region in BIS78 and strip material,!3645821.9: Improving material map description (ATLITKSW-127),!36293WIP pixel updates,!34993KF-input adding jXERHO to the AOD outputs,!34864LH rings in front ot HR rigs,!34763Fix L1_4jJ15.0ETA25 item definition (ATR-21261),!3473421.0 fix dq servers,!33996WIP: Correct MM zpositions,!3291021.3 salva s0,!3288421.0 salva s8,!3217421.9 - Bug fix for test stream creation in RD53BEncodingTool,!3135321.3,!3134821.9 README Update,!31345Add HEC sampling fractions macros,!31136added also PUsub for LargeR jets,!31123WIP: Master ttmdev,!3036121.9 fixing bug with layer indices in PixelRDOAnalysis,!29617IDPerfmonZmumu updates,!29454Idpvm 21.0 fix typo in trackselection config,!29085TRT modification for fractional charged particles,!28623Overlay as part of FastChain transform in 21.3,!28497ART tests - fixing the bugs,!27668Massimos 21.3 bis78,!27254WIP: Exclusive jets request -- Fix ExclusiveJets algo / ATR-17320,!26790Fixes for Simulation ART jobs (ATLASSIM-4309),!26747Update frozen shower generation scripts and code to be compatible with recent developments,!26592Master upload 2018 global monitoring scripts p2,!2618221.0 z counting,!25405Add new ART test: test_physics_pp_v8_chainorder_build.sh,!2420321.3 l1 muon 00 - new MuCTPI_RDO.h,!24037Make DCS Calculator dependent on sqlalchemy; fix python code quality issues,!23377WIP pixel ID scheme for ITk,!23330Inner Detector create misalignments: radial distortions,!2325521.0 z counting,!22695Master salva id perf mon,!2230421.0-ART_test-InDetPhysValMonitoring,!22214add an utility function to TrigT1TGCRecRoiSvc for storing ROI position and the eta/phi size,!22172changes related to 1-3 points in ATR-19579,!22124Changes related to ticket 19579,!22118Remove cabling information for new thresholds,!21684WIP: test push into tdaq-htt,!2153821.0-ART_test-InDetPhysValMonitoring,!21325Tilecal new laser unpack 2019 02 19,!21304WIP: Fix ATR-19377 L1Topo vbs alg,!2117721.3 po bugfixes,!21039Merging in features for HTT Bank Generation,!20518Mydev
...@@ -12,10 +12,18 @@ ...@@ -12,10 +12,18 @@
class CaloDetDescrElement; class CaloDetDescrElement;
namespace CLHEP
{
class HepRandomEngine;
}
class TFCSSimulationState:public TObject class TFCSSimulationState:public TObject
{ {
public: public:
TFCSSimulationState(); TFCSSimulationState(CLHEP::HepRandomEngine* randomEngine = nullptr);
CLHEP::HepRandomEngine* randomEngine() { return m_randomEngine; }
void setRandomEngine(CLHEP::HepRandomEngine *engine) { m_randomEngine = engine; }
bool is_valid() const {return m_Ebin>=0;}; bool is_valid() const {return m_Ebin>=0;};
double E() const {return m_Etot;}; double E() const {return m_Etot;};
...@@ -41,6 +49,8 @@ class TFCSSimulationState:public TObject ...@@ -41,6 +49,8 @@ class TFCSSimulationState:public TObject
void clear(); void clear();
private: private:
CLHEP::HepRandomEngine* m_randomEngine;
int m_Ebin; int m_Ebin;
double m_Etot; double m_Etot;
// TO BE CLEANED UP! SHOULD ONLY STORE EITHER E OR EFRAC!!! // TO BE CLEANED UP! SHOULD ONLY STORE EITHER E OR EFRAC!!!
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/ */
#include "CLHEP/Random/RandomEngine.h"
#include "ISF_FastCaloSimEvent/TFCSSimulationState.h" #include "ISF_FastCaloSimEvent/TFCSSimulationState.h"
#include <iostream> #include <iostream>
...@@ -9,7 +11,8 @@ ...@@ -9,7 +11,8 @@
//======= TFCSSimulationState ========= //======= TFCSSimulationState =========
//============================================= //=============================================
TFCSSimulationState::TFCSSimulationState() TFCSSimulationState::TFCSSimulationState(CLHEP::HepRandomEngine* randomEngine)
: m_randomEngine(randomEngine)
{ {
clear(); clear();
} }
...@@ -47,5 +50,3 @@ void TFCSSimulationState::Print(Option_t *) const ...@@ -47,5 +50,3 @@ void TFCSSimulationState::Print(Option_t *) const
std::cout<<" E"<<i<<"("<<CaloSampling::getSamplingName(i)<<")="<<E(i)<<" E"<<i<<"/E="<<Efrac(i)<<std::endl; std::cout<<" E"<<i<<"("<<CaloSampling::getSamplingName(i)<<")="<<E(i)<<" E"<<i<<"/E="<<Efrac(i)<<std::endl;
} }
} }
...@@ -28,10 +28,6 @@ ...@@ -28,10 +28,6 @@
#include "StoreGate/StoreGateSvc.h" #include "StoreGate/StoreGateSvc.h"
#include "StoreGate/StoreGate.h" #include "StoreGate/StoreGate.h"
#include "CLHEP/Random/RandFlat.h"
#include "CLHEP/Random/RandGauss.h"
#include "CaloEvent/CaloCellContainer.h" #include "CaloEvent/CaloCellContainer.h"
#include "CaloDetDescr/CaloDetDescrElement.h" #include "CaloDetDescr/CaloDetDescrElement.h"
#include "CaloDetDescr/CaloDetDescrManager.h" #include "CaloDetDescr/CaloDetDescrManager.h"
...@@ -217,7 +213,7 @@ StatusCode ISF::FastCaloSimSvcV2::simulate(const ISF::ISFParticle& isfp) ...@@ -217,7 +213,7 @@ StatusCode ISF::FastCaloSimSvcV2::simulate(const ISF::ISFParticle& isfp)
TFCSExtrapolationState extrapol; TFCSExtrapolationState extrapol;
m_FastCaloSimCaloExtrapolation->extrapolate(extrapol,&truth); m_FastCaloSimCaloExtrapolation->extrapolate(extrapol,&truth);
TFCSSimulationState simulstate; TFCSSimulationState simulstate(m_randomEngine);
FCSReturnCode status = m_param->simulate(simulstate, &truth, &extrapol); FCSReturnCode status = m_param->simulate(simulstate, &truth, &extrapol);
if (status != FCSSuccess) { if (status != FCSSuccess) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment