diff --git a/Generators/CosmicGenerator/python/CosmicGeneratorConfig.py b/Generators/CosmicGenerator/python/CosmicGeneratorConfig.py index 28794c0743bf9b0e057bd0e958ef7be3311e5e39..d61c88962c2b05508a5f09ded58f73adf284ae7a 100644 --- a/Generators/CosmicGenerator/python/CosmicGeneratorConfig.py +++ b/Generators/CosmicGenerator/python/CosmicGeneratorConfig.py @@ -1,3 +1,7 @@ + +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + + class CavernPropertyCalculator(object): xvert_low = -1000.*200. # 200 m diff --git a/Generators/CosmicGenerator/src/CosmicGenerator.cxx b/Generators/CosmicGenerator/src/CosmicGenerator.cxx index 0dd4dbf7e6c06515d2eae82e97970695403c4558..7299b573f889b66ac8baf6b916d3d2bdd1df4583 100644 --- a/Generators/CosmicGenerator/src/CosmicGenerator.cxx +++ b/Generators/CosmicGenerator/src/CosmicGenerator.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + // ------------------------------------------------------------- // File: CosmicGenerator/CosmicGenerator.cxx // Description: diff --git a/Generators/Epos_i/src/Epos.cxx b/Generators/Epos_i/src/Epos.cxx index 28ada853a449b5ed00a6dd66b171341a05bbcdf4..0644dd780cfdcb7254ce0189d6639929949fa245 100644 --- a/Generators/Epos_i/src/Epos.cxx +++ b/Generators/Epos_i/src/Epos.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + // ---------------------------------------------------------------------- // Generators/Epos.cxx // diff --git a/Generators/EvgenJobTransforms/python/EvgenConfig.py b/Generators/EvgenJobTransforms/python/EvgenConfig.py index 38346dca8f073d423da8a3af6934745f03a0e10e..49fc44a3528327b6859adc8e241ec62b00520583 100644 --- a/Generators/EvgenJobTransforms/python/EvgenConfig.py +++ b/Generators/EvgenJobTransforms/python/EvgenConfig.py @@ -1,3 +1,5 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + ## Generators providing input events via the LHEF format (MC@NLO produces LHEF ## when used in connection with Herwig++, which is fine since this variable is ## just used to determine the input file dummy-naming strategy for C++ generators) diff --git a/Generators/EvgenJobTransforms/python/evgenTrfArgs.py b/Generators/EvgenJobTransforms/python/evgenTrfArgs.py index be9d45de78155fc5a54d43761f9e0dd527481834..f812dfc1c93f45936b7001843a924b47169b3c67 100644 --- a/Generators/EvgenJobTransforms/python/evgenTrfArgs.py +++ b/Generators/EvgenJobTransforms/python/evgenTrfArgs.py @@ -1,3 +1,5 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + import PyJobTransforms.trfArgClasses as trfArgClasses def addStdEvgenArgs(parser): diff --git a/Generators/EvgenJobTransforms/scripts/AfterBurner_tf.py b/Generators/EvgenJobTransforms/scripts/AfterBurner_tf.py index 7100de73f12e86811b077bc199815c5fb9335b2d..e2336eab9e4c107ca204337d4f0b773a6006ac2b 100755 --- a/Generators/EvgenJobTransforms/scripts/AfterBurner_tf.py +++ b/Generators/EvgenJobTransforms/scripts/AfterBurner_tf.py @@ -1,3 +1,5 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + #! /usr/bin/env python """ diff --git a/Generators/EvgenJobTransforms/scripts/EvtGenFromEVNT_tf.py b/Generators/EvgenJobTransforms/scripts/EvtGenFromEVNT_tf.py index ff1d20b0413c0958974e3029cd92ba8f2211d9a2..8c47ffb87e77d69a49ede6365fc97e04a26fa861 100755 --- a/Generators/EvgenJobTransforms/scripts/EvtGenFromEVNT_tf.py +++ b/Generators/EvgenJobTransforms/scripts/EvtGenFromEVNT_tf.py @@ -1,3 +1,5 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + #! /usr/bin/env python import sys diff --git a/Generators/EvgenJobTransforms/scripts/Generate_tf.py b/Generators/EvgenJobTransforms/scripts/Generate_tf.py index 1042b6b0b0a190826b4e34b478246854e8a2dfe3..6c37efaa6d737db8fa3b06be282a8117777d409b 100755 --- a/Generators/EvgenJobTransforms/scripts/Generate_tf.py +++ b/Generators/EvgenJobTransforms/scripts/Generate_tf.py @@ -1,3 +1,5 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + #! /usr/bin/env python """ diff --git a/Generators/EvgenJobTransforms/scripts/Rivet_tf.py b/Generators/EvgenJobTransforms/scripts/Rivet_tf.py index 813d7dba717ae5446ed1bd2547f8f41128a273f7..bdefb58466914a101419032e22f3da2cba846774 100755 --- a/Generators/EvgenJobTransforms/scripts/Rivet_tf.py +++ b/Generators/EvgenJobTransforms/scripts/Rivet_tf.py @@ -1,3 +1,5 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + #! /usr/bin/env python """ diff --git a/Generators/EvgenJobTransforms/share/Generate_TruthJets.py b/Generators/EvgenJobTransforms/share/Generate_TruthJets.py index f50cd541ac1d58f8b559291dc64fc75de69ed660..2b7a9845ad42485f3af64ecba2192fba927a6136 100644 --- a/Generators/EvgenJobTransforms/share/Generate_TruthJets.py +++ b/Generators/EvgenJobTransforms/share/Generate_TruthJets.py @@ -1,3 +1,6 @@ + +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + ## Configure and schedule jet finding algorithms for the jet ## containers defined in the user's JO fragment ## diff --git a/Generators/EvgenJobTransforms/share/Generate_ecmenergies.py b/Generators/EvgenJobTransforms/share/Generate_ecmenergies.py index 676db943db01bbadd093c4bb2a9ea958b25386d0..f9280d4527a77ba6c9c4bbd61a72f3b7ab726e6e 100644 --- a/Generators/EvgenJobTransforms/share/Generate_ecmenergies.py +++ b/Generators/EvgenJobTransforms/share/Generate_ecmenergies.py @@ -1,3 +1,7 @@ + +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + + ## Propagate energy argument to the generators # TODO: Standardise energy setting in the GenModule interface diff --git a/Generators/EvgenJobTransforms/share/Generate_randomseeds.py b/Generators/EvgenJobTransforms/share/Generate_randomseeds.py index c6087a12d1a8f90a7a4d75d2073eb69b6d7182ba..430c60cac3f0559c6de9910ca93072071280b4fa 100644 --- a/Generators/EvgenJobTransforms/share/Generate_randomseeds.py +++ b/Generators/EvgenJobTransforms/share/Generate_randomseeds.py @@ -1,3 +1,7 @@ + +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + + ## Set random seeds depending on used generators genseeds = { diff --git a/Generators/EvgenJobTransforms/share/skeleton.ABtoEVGEN.py b/Generators/EvgenJobTransforms/share/skeleton.ABtoEVGEN.py index 932f229e4bc28f4f44ee50a91e9374cc1ed0337a..72650afe7cdea5ad43c7c168d3f43e7359677d52 100644 --- a/Generators/EvgenJobTransforms/share/skeleton.ABtoEVGEN.py +++ b/Generators/EvgenJobTransforms/share/skeleton.ABtoEVGEN.py @@ -1,3 +1,6 @@ + +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + """Functionality core of the Generate_tf transform""" ##============================================================== diff --git a/Generators/EvgenJobTransforms/share/skeleton.EVGENtoRivet.py b/Generators/EvgenJobTransforms/share/skeleton.EVGENtoRivet.py index ba0ce1b485ddc4baea5e40e01db49acdca95b832..ca3c0fef61ffaf016a67e325874e18fbae082971 100644 --- a/Generators/EvgenJobTransforms/share/skeleton.EVGENtoRivet.py +++ b/Generators/EvgenJobTransforms/share/skeleton.EVGENtoRivet.py @@ -1,3 +1,6 @@ + +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + """Functionality core of the Rivet_tf transform""" ##============================================================== diff --git a/Generators/EvgenJobTransforms/share/skeleton.EvtGenFromEVNT.py b/Generators/EvgenJobTransforms/share/skeleton.EvtGenFromEVNT.py index 68fc68f19c89e380a3ff6a5e621e415fb020f26a..70be345f790ee03b51b3951bd467be86a4f162ef 100644 --- a/Generators/EvgenJobTransforms/share/skeleton.EvtGenFromEVNT.py +++ b/Generators/EvgenJobTransforms/share/skeleton.EvtGenFromEVNT.py @@ -1,3 +1,5 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + ############################# ## basic jobO configuration include("PATJobTransforms/CommonSkeletonJobOptions.py") diff --git a/Generators/EvgenJobTransforms/share/skeleton.GENtoEVGEN.py b/Generators/EvgenJobTransforms/share/skeleton.GENtoEVGEN.py index 709a04e4e6d5880d5d72130871f01ce0dbda6980..35c1a2c089c39be112b27c4fdee6d7cd130394a3 100644 --- a/Generators/EvgenJobTransforms/share/skeleton.GENtoEVGEN.py +++ b/Generators/EvgenJobTransforms/share/skeleton.GENtoEVGEN.py @@ -1,3 +1,6 @@ + +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + """Functionality core of the Generate_tf transform""" ##============================================================== diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/entries b/Generators/EvgenProdTools/EvgenProdTools/.svn/entries deleted file mode 100644 index 9e0b3928e4f244fabb60f19739bc0c1679fee891..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/entries +++ /dev/null @@ -1,266 +0,0 @@ -10 - -dir -810106 -svn+ssh://svn.cern.ch/reps/atlasoff/Generators/EvgenProdTools/trunk/EvgenProdTools -svn+ssh://svn.cern.ch/reps/atlasoff - - - -2016-07-05T13:49:52.462568Z -759769 -vmagerl - - - - - - - - - - - - - - -4525493e-7705-40b1-a816-d608a930855b - -IEvgenOTFTopUpSvc.h -file - - - - -2017-09-08T09:59:22.000000Z -0370b3c04a64ac768304601d24353650 -2015-05-08T12:29:14.390862Z -665808 -ewelina -has-props - - - - - - - - - - - - - - - - - - - - -1109 - -TestHepMC.h -file - - - - -2017-09-08T09:59:22.000000Z -8478fc18a5997d6d839d91ac25bf091a -2016-01-22T22:39:43.624609Z -719412 -ewelina - - - - - - - - - - - - - - - - - - - - - -3565 - -EvgenOTFTopUpSvc.h -file - - - - -2017-09-08T09:59:22.000000Z -16cf68a2ef5053d973ec299df3db2003 -2015-06-25T10:18:08.342881Z -678193 -will -has-props - - - - - - - - - - - - - - - - - - - - -2483 - -FixHepMC.h -file - - - - -2017-09-08T09:59:22.000000Z -98d2f518af8db539e375c884f05617d5 -2015-06-25T10:18:08.342881Z -678193 -will -has-props - - - - - - - - - - - - - - - - - - - - -1556 - -SimTimeEstimate.h -file - - - - -2017-09-08T09:59:22.000000Z -d220d876b55374d0a67aee21e221c759 -2016-07-05T13:49:52.462568Z -759769 -vmagerl -has-props - - - - - - - - - - - - - - - - - - - - -1272 - -CopyEventWeight.h -file - - - - -2017-09-08T09:59:22.000000Z -aa59385623aa889c6f3dd1fff0e79bab -2015-06-25T10:18:08.342881Z -678193 -will - - - - - - - - - - - - - - - - - - - - - -899 - -CountHepMC.h -file - - - - -2017-09-08T09:59:22.000000Z -d3243ec32518ccb95fcc253bbad156b7 -2015-06-25T10:18:08.342881Z -678193 -will - - - - - - - - - - - - - - - - - - - - - -734 - diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/EvgenOTFTopUpSvc.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/EvgenOTFTopUpSvc.h.svn-base deleted file mode 100644 index eb0445eb82ecf54e232e71df62d245598f76825d..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/EvgenOTFTopUpSvc.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 12 -svn:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/FixHepMC.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/FixHepMC.h.svn-base deleted file mode 100644 index bdca12dd5c258107f3caa6a336c53110915cca99..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/FixHepMC.h.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 12 -snv:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/IEvgenOTFTopUpSvc.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/IEvgenOTFTopUpSvc.h.svn-base deleted file mode 100644 index eb0445eb82ecf54e232e71df62d245598f76825d..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/IEvgenOTFTopUpSvc.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 12 -svn:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/SimTimeEstimate.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/SimTimeEstimate.h.svn-base deleted file mode 100644 index eb0445eb82ecf54e232e71df62d245598f76825d..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/prop-base/SimTimeEstimate.h.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 12 -svn:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/CopyEventWeight.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/CopyEventWeight.h.svn-base deleted file mode 100644 index 20448861150563ae6e39b741f49062c16391d9ec..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/CopyEventWeight.h.svn-base +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#ifndef EVGENPRODTOOLS_COPYEVENTWEIGHT_H -#define EVGENPRODTOOLS_COPYEVENTWEIGHT_H - -#include "GeneratorModules/GenBase.h" - - -/// @class CopyEventWeight -/// @brief Copy MC truth event weights into the event info store -/// -/// @author Paolo Calafiura <pcalafiura@lbl.gov> -/// @author RD Schaffer <R.D.Schaffer@cern.ch> -/// @author Andy Buckley <andy.buckley@cern.ch> -/// -/// @note Only the weights for the first (signal, by convention) -/// event are copied. Others are assumed to be pile-up events and -/// are ignored by this algorithm. -/// -class CopyEventWeight : public GenBase { -public: - - /// Constructor - CopyEventWeight(const std::string& name, ISvcLocator* svcLoc); - - /// Copy the weight vector for each event - StatusCode execute(); - - -private: - - /// Key of the container for the EventInfo objects (copy target) - std::string m_mcWeightEventInfoKey; - -}; - - -#endif - -#endif \ No newline at end of file diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/CountHepMC.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/CountHepMC.h.svn-base deleted file mode 100644 index 126f40d16894f307f2c660020fdfc0cd9a8d2957..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/CountHepMC.h.svn-base +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#ifndef EVGENPRODTOOLS_COUNTHEPMC_H -#define EVGENPRODTOOLS_COUNTHEPMC_H - -#include "GeneratorModules/GenBase.h" - - -/// @brief Count the number of events to pass all algorithms/filters -/// -/// CountHepMC counts the number of events to pass algs in the evgen -/// production chain. It signals to the AthenaEventLoopMgr service -/// when the requested number of events are produced. -/// -class CountHepMC : public GenBase { -public: - - CountHepMC(const std::string& name, ISvcLocator* pSvcLocator); - virtual ~CountHepMC(); - - StatusCode initialize(); - StatusCode execute(); - StatusCode finalize(); - -private: - - int m_nPass; - int m_nCount; - - int m_firstEv; - - bool m_corHepMC; - bool m_corEvtID; -}; - - -#endif - -#endif \ No newline at end of file diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/EvgenOTFTopUpSvc.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/EvgenOTFTopUpSvc.h.svn-base deleted file mode 100644 index 4866c430337cd02ee4e73422dd15ef468c60108f..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/EvgenOTFTopUpSvc.h.svn-base +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#ifndef EVGENPRODTOOLS_EVGENOTFTOPUPSVC_H -#define EVGENPRODTOOLS_EVGENOTFTOPUPSVC_H - -#include "AthenaBaseComps/AthService.h" -#include "EvgenProdTools/IEvgenOTFTopUpSvc.h" -#include <string> - -/// @brief Service to hold some information for topping up -/// algorithms that are running on the fly. It's a bit tricky, -/// but this is mostly just a service for holding some numbers... -/// -class EvgenOTFTopUpSvc : public AthService , public IEvgenOTFTopUpSvc { -public: - - // Constructor and destructor - EvgenOTFTopUpSvc(const std::string& name, ISvcLocator* pSvcLocator); - - ~EvgenOTFTopUpSvc() {;} //!< Nothing to delete... - - // Standard sequence functions - don't actually need an excecute - // Could use init() as a chance to run OTF for the first time, - // but that applied to the OTF algorithm, not this service - StatusCode finalize(); - - // Getters - virtual long getNPerFile() const { return m_nPerFile; } - virtual long getNUsedSoFar() const { return m_nUsedSoFar; } - virtual double getEfficiency() const { return m_efficiency; } - virtual bool getNewFileFlag() const { return m_newFileFlag; } - - // Setters - first for Pythia/Herwig to call when they use up events - virtual void usedEvents() { ++m_nUsedSoFar; } - virtual void usedEvents( const int n ) { m_nUsedSoFar+=n; } - - // New file created by the OTF generator algorithm - virtual void newFile( std::string& s ) { ++m_nIterations; m_newFileFlag=true; m_newFileName=s; m_nUsedSoFar=0; } - - // New file grabbed by the showering generator - virtual const std::string& getFile() { m_newFileFlag=false; return m_newFileName; } - - static const InterfaceID& interfaceID() { return IID_IEvgenOTFTopUpSvc; } - StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface); - -private: - - bool m_execDuringInit; //!< Execute OTF during initialization? (Set in JO) - long m_nPerFile; //!< Number of events per LHE file (Set in JO) - long m_nUsedSoFar; //!< Number of events used so far by Pythia/Herwig (counter) - double m_efficiency; //!< Rough efficiency in Pythia/Herwig (Set in JO) - bool m_newFileFlag; //!< Just produced a new file with the OTF generator - std::string m_newFileName; //!< Name of the new OTF generated file - - long m_nTotal; //!< Book-keeping: total number of generated events - long m_nIterations; //!< Book-keeping: total number of OTF iterations -}; - -#endif - -#endif \ No newline at end of file diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/FixHepMC.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/FixHepMC.h.svn-base deleted file mode 100644 index e1cb001e8ef7791cfe04ca56851cffba6eb8d61c..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/FixHepMC.h.svn-base +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#ifndef FIX_HEPMC -#define FIX_HEPMC - -#include "GeneratorModules/GenBase.h" - - -/// @brief A "fix-up" algorithm to correct weird event records -/// -/// FixHepMC is run in evgen production, *after* the chain of input, -/// shower, hadronization, and afterburner generators, but before -/// the TestHepMC check algorithm, any analysis algs, and the POOL -/// event stream output. Its job is to "normalise" strange event -/// features to allow greater consistency of MC event record use in -/// ATLAS. -/// -/// Examples of its features include removing dummy "padding" particles -/// from event records, stripping parton and EW boson intermediates -/// from hadron/tau decay chains, and ensuring that every event has at -/// least one entry in its event weight vector. -/// -class FixHepMC : public GenBase { -public: - - FixHepMC(const std::string& name, ISvcLocator* pSvcLocator); - StatusCode execute(); - StatusCode finalize(); - - -private: - - /// @name Classifiers for identifying particles to be removed - //@{ - bool isPID0(const HepMC::GenParticle* p); - bool isNonTransportableInDecayChain(const HepMC::GenParticle* p); - bool isLoop(const HepMC::GenParticle* p); - //@} - - /// @name Config properties - //@{ - bool m_killLoops; // Kill loops? - bool m_killPDG0; // Kill PDG0 particles? - bool m_cleanDecays; // Clean decays? - bool m_loopByBC; // Detect loops by barcode - //@} - - /// @name Cleaned-particle counters - //@{ - long m_loopKilled; - long m_pdg0Killed; - long m_decayCleaned; - long m_totalSeen; - //@} - -}; - - -#endif - -#endif diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/IEvgenOTFTopUpSvc.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/IEvgenOTFTopUpSvc.h.svn-base deleted file mode 100644 index 801ff7d110236c94a5cb85f64341674aeebd8963..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/IEvgenOTFTopUpSvc.h.svn-base +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef EVGENPRODTOOLS_IEVGENOTFTOPUPSVC_H -#define EVGENPRODTOOLS_IEVGENOTFTOPUPSVC_H - -#include "GaudiKernel/IInterface.h" -#include <string> - -/// @brief IService to hold some information for topping up -/// algorithms that are running on the fly. It's a bit tricky, -/// but this is mostly just a service for holding some numbers... -/// - -static const InterfaceID IID_IEvgenOTFTopUpSvc("IEvgenOTFTopUpSvc", 1 , 0); - -class IEvgenOTFTopUpSvc : virtual public IInterface { -public: - - // Getters - virtual long getNPerFile() const = 0; - virtual long getNUsedSoFar() const = 0; - virtual double getEfficiency() const = 0; - virtual bool getNewFileFlag() const = 0; - - // Setters - first for Pythia/Herwig to call when they use up events - virtual void usedEvents() = 0; - virtual void usedEvents( const int ) = 0; - - // New file created by the OTF generator algorithm - virtual void newFile( std::string& ) = 0; - - // New file grabbed by the showering generator - virtual const std::string& getFile() = 0; - - static const InterfaceID& interfaceID() { return IID_IEvgenOTFTopUpSvc; }; - -}; - -#endif diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/SimTimeEstimate.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/SimTimeEstimate.h.svn-base deleted file mode 100644 index 83f8e580d5a33ea33f0f53dc2ede70a97dfa5e7a..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/SimTimeEstimate.h.svn-base +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#ifndef EVGENPRODTOOLS_SIMTIMEESTIMATE_H -#define EVGENPRODTOOLS_SIMTIMEESTIMATE_H - -#include "GeneratorModules/GenBase.h" -#include <vector> - -/// Algorithm to estimate the amount of CPU time that simulation will take -/// -/// This algorithm runs on generated events and attempts to estimate -/// the amount of CPU time that the simulation will require to run. -/// -class SimTimeEstimate : public GenBase { -public: - - SimTimeEstimate(const std::string& name, ISvcLocator* pSvcLocator); - StatusCode execute(); - StatusCode finalize(); - - private: - double m_etaMax; //!< Max eta that will be used for simulation - int m_total_Events; //!< Number of events that I've seen - double m_total_Energy; //!< Amount of energy that I've seen - double eventEnergy; //!< Amount of energy that I've seen in one event - std::vector<double> particleEtas; //!< list holds eta of each particle - std::vector<double> particleEnergies; //!< list holds energy of each particle - std::vector<int> particleIDs; //!< list holds all the particle IDs for one event - int particleNumber; //!< Number of particles in one event - std::vector<int> pidsToSkip; // !< PIDs of particles which should not be taken into account - -}; - - -#endif - -#endif diff --git a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/TestHepMC.h.svn-base b/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/TestHepMC.h.svn-base deleted file mode 100644 index ba033b2716ab959379f8ab56db6de3f6978cb5a4..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/EvgenProdTools/.svn/text-base/TestHepMC.h.svn-base +++ /dev/null @@ -1,126 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#ifndef EVGENPRODTOOLS_TESTHEPMC_H -#define EVGENPRODTOOLS_TESTHEPMC_H - -#include "GeneratorModules/GenBase.h" -#include "GaudiKernel/ITHistSvc.h" -#include "TruthHelper/IsGenNonInteracting.h" -#include "TFile.h" -#include "TH1.h" -#include "HepMC/GenEvent.h" -#include<cmath> - -#include<fstream> - -using namespace std; - -/// Filtering algorithm to sanity check HepMC event features. -/// -/// The TestHepMC algorithm is used in MC production to ensure that -/// only events with valid final state particles, properly balanced -/// initial-final state momentum and energy, etc. are accepted for -/// further processing. A too-high failure rate results in a warning -/// or algorithm failure to flag up to production that there is a -/// fundamental problem and that the sanity check may be unphysically -/// biasing the resulting events. -/// -/// @todo Inherit from GenFilter? It *is* a filter -class TestHepMC : public GenBase { -public: - - TestHepMC(const std::string& name, ISvcLocator* pSvcLocator); - StatusCode initialize(); - StatusCode execute(); - StatusCode finalize(); - - private: - - int m_pdg; - double m_cm_energy, m_cme_diff; - double m_energy_diff, m_max_energy_diff; - bool m_dumpEvent; - double m_max_dist_trans, m_max_dist, m_min_tau, m_nonG4_energy_threshold; - double m_eff_warn_threshold, m_eff_fail_threshold, m_tau_eff_threshold; - double m_accur_margin; - bool m_doHist; - - std::vector<int> m_vertexStatuses; - - int m_nPass; - int m_nFail; - - int m_TotalTaus; - int m_FastDecayedTau; - - int m_invalidBeamParticlesCheckRate; - int m_beamParticleswithStatusNotFourCheckRate; - int m_beamEnergyCheckRate; - int m_vtxNANandINFCheckRate; - int m_vtxDisplacedstatuscode12CheckRate; - int m_vtxDisplacedstatuscodenot12CheckRate; - int m_vtxDisplacedMoreThan_1m_CheckRateCnt; - int m_partMomentumNANandINFCheckRate; - int m_undecayedPi0statuscode12CheckRate; - int m_unstableNoEndVtxCheckRate; - int m_negativeEnergyTachyonicCheckRate; - int m_decayCheckRate; - int m_undisplacedLLHdaughtersCheckRate; - int m_nonZeroPhotonMassCheckRate; - int m_energyBalanceCheckRate; - int m_momentumBalanceCheckRate; - int m_negativeEnergyCheckRate; - int m_tachyonCheckRate; - int m_stableUnstableNoParentCheckRate; - int m_unstablePartNoDecayVtxCheckRate; - int m_undecayedPi0CheckRate; - int m_Status1ShortLifetime; - int m_undisplacedDecayDaughtersOfDisplacedVtxCheckRate; - int m_nonG4_energyCheckRate; - - std::string m_paramFile; - - std::ifstream G4file; - std::ifstream susyFile; - vector<int> m_G4pdgID_tab; - vector<int> m_SusyPdgID_tab; - TruthHelper::IsGenNonInteracting nonint; - - /// @todo Can we use the GenAnalysis / AthHistoAlg methods for histo management? - ServiceHandle<ITHistSvc> m_thistSvc; - - TH1F* m_h_energy_dispVtxCheck; - TH1F* m_h_energy_dispVtxCheck_lt10; - TH1F* m_h_pdgid_dispVtxCheck; - TH1F* m_h_status_dispVtxCheck; - TH1F* m_h_px_dispVtxCheck; - TH1F* m_h_py_dispVtxCheck; - TH1F* m_h_pz_dispVtxCheck; - TH1F* m_h_vx_dispVtxCheck; - TH1F* m_h_vy_dispVtxCheck; - TH1F* m_h_vz_dispVtxCheck; - TH1F* m_h_vxprod_dispVtxCheck; - TH1F* m_h_vyprod_dispVtxCheck; - TH1F* m_h_vzprod_dispVtxCheck; - TH1F* m_h_vtxend_dispVtxCheck; - TH1F* m_h_vtxprod_dispVtxCheck; - - TH1F* m_h_photon_mass; - TH1F* m_h_photon_energy; - TH1F* m_h_photon_e2_p2_e2; - - TH1F* m_h_energyImbalance; - TH1F* m_h_momentumImbalance_px; - TH1F* m_h_momentumImbalance_py; - TH1F* m_h_momentumImbalance_pz; - - TH1F* m_h_beamparticle1_Energy; - TH1F* m_h_beamparticle2_Energy; - TH1F* m_h_cmEnergyDiff; - -}; - - -#endif - -#endif diff --git a/Generators/EvgenProdTools/EvgenProdTools/CopyEventWeight.h b/Generators/EvgenProdTools/EvgenProdTools/CopyEventWeight.h index 20448861150563ae6e39b741f49062c16391d9ec..d5586d1043432ab732d17a04acd9891757b4b763 100644 --- a/Generators/EvgenProdTools/EvgenProdTools/CopyEventWeight.h +++ b/Generators/EvgenProdTools/EvgenProdTools/CopyEventWeight.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #ifndef EVGENPRODTOOLS_COPYEVENTWEIGHT_H @@ -37,4 +41,4 @@ private: #endif -#endif \ No newline at end of file +#endif diff --git a/Generators/EvgenProdTools/EvgenProdTools/CountHepMC.h b/Generators/EvgenProdTools/EvgenProdTools/CountHepMC.h index 126f40d16894f307f2c660020fdfc0cd9a8d2957..fed77d35ad4fda16c156a3fd040b25e6ba1c23e5 100644 --- a/Generators/EvgenProdTools/EvgenProdTools/CountHepMC.h +++ b/Generators/EvgenProdTools/EvgenProdTools/CountHepMC.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #ifndef EVGENPRODTOOLS_COUNTHEPMC_H @@ -36,4 +40,4 @@ private: #endif -#endif \ No newline at end of file +#endif diff --git a/Generators/EvgenProdTools/EvgenProdTools/EvgenOTFTopUpSvc.h b/Generators/EvgenProdTools/EvgenProdTools/EvgenOTFTopUpSvc.h index 4866c430337cd02ee4e73422dd15ef468c60108f..9bdb35f19b76fac5ac5c0fc86467424001023f0f 100644 --- a/Generators/EvgenProdTools/EvgenProdTools/EvgenOTFTopUpSvc.h +++ b/Generators/EvgenProdTools/EvgenProdTools/EvgenOTFTopUpSvc.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #ifndef EVGENPRODTOOLS_EVGENOTFTOPUPSVC_H @@ -58,4 +62,4 @@ private: #endif -#endif \ No newline at end of file +#endif diff --git a/Generators/EvgenProdTools/EvgenProdTools/FixHepMC.h b/Generators/EvgenProdTools/EvgenProdTools/FixHepMC.h index e1cb001e8ef7791cfe04ca56851cffba6eb8d61c..4f7708629612e9bff07453b072284fef9e1ce3cf 100644 --- a/Generators/EvgenProdTools/EvgenProdTools/FixHepMC.h +++ b/Generators/EvgenProdTools/EvgenProdTools/FixHepMC.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #ifndef FIX_HEPMC diff --git a/Generators/EvgenProdTools/EvgenProdTools/IEvgenOTFTopUpSvc.h b/Generators/EvgenProdTools/EvgenProdTools/IEvgenOTFTopUpSvc.h index 801ff7d110236c94a5cb85f64341674aeebd8963..3ba04f6ef1e579e121feeb5b7236b51fef354a9d 100644 --- a/Generators/EvgenProdTools/EvgenProdTools/IEvgenOTFTopUpSvc.h +++ b/Generators/EvgenProdTools/EvgenProdTools/IEvgenOTFTopUpSvc.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef EVGENPRODTOOLS_IEVGENOTFTOPUPSVC_H #define EVGENPRODTOOLS_IEVGENOTFTOPUPSVC_H diff --git a/Generators/EvgenProdTools/EvgenProdTools/SimTimeEstimate.h b/Generators/EvgenProdTools/EvgenProdTools/SimTimeEstimate.h index 83f8e580d5a33ea33f0f53dc2ede70a97dfa5e7a..ab758679c8968db91210d127d15de8270bf8e89b 100644 --- a/Generators/EvgenProdTools/EvgenProdTools/SimTimeEstimate.h +++ b/Generators/EvgenProdTools/EvgenProdTools/SimTimeEstimate.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #ifndef EVGENPRODTOOLS_SIMTIMEESTIMATE_H diff --git a/Generators/EvgenProdTools/EvgenProdTools/TestHepMC.h b/Generators/EvgenProdTools/EvgenProdTools/TestHepMC.h index ba033b2716ab959379f8ab56db6de3f6978cb5a4..75da0cb3852125f129caa24dd382f35dae62d232 100644 --- a/Generators/EvgenProdTools/EvgenProdTools/TestHepMC.h +++ b/Generators/EvgenProdTools/EvgenProdTools/TestHepMC.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #ifndef EVGENPRODTOOLS_TESTHEPMC_H diff --git a/Generators/EvgenProdTools/examples/.svn/entries b/Generators/EvgenProdTools/examples/.svn/entries deleted file mode 100644 index bb6c3f6ef82feff7ba7197eaeb5d4e61c006ff85..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/examples/.svn/entries +++ /dev/null @@ -1,62 +0,0 @@ -10 - -dir -810106 -svn+ssh://svn.cern.ch/reps/atlasoff/Generators/EvgenProdTools/trunk/examples -svn+ssh://svn.cern.ch/reps/atlasoff - - - -2013-10-11T16:31:35.474425Z -565100 -abuckley - - - - - - - - - - - - - - -4525493e-7705-40b1-a816-d608a930855b - -jobOption.Pythia8_FixHepMC.py -file - - - - -2017-09-08T09:59:22.000000Z -445d9b7bf5301a6986a84f5a53775102 -2013-10-11T16:31:35.474425Z -565100 -abuckley - - - - - - - - - - - - - - - - - - - - - -547 - diff --git a/Generators/EvgenProdTools/examples/.svn/text-base/jobOption.Pythia8_FixHepMC.py.svn-base b/Generators/EvgenProdTools/examples/.svn/text-base/jobOption.Pythia8_FixHepMC.py.svn-base deleted file mode 100644 index b5558ed556e99d0115f9c7e0d39d38a27c7079dd..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/examples/.svn/text-base/jobOption.Pythia8_FixHepMC.py.svn-base +++ /dev/null @@ -1,15 +0,0 @@ -## Example job option script to run an event generator with FixHepMC filtering -## Author: Andy Buckley <andy.buckley@cern.ch> - -include("GeneratorUtils/StdEvgenSetup.py") -theApp.EvtMax = 100 - -## Configure and add an event generator to the alg seq -from Pythia8_i.Pythia8_iConf import Pythia8_i -topAlg += Pythia8_i("Pythia8") -topAlg.Pythia8.CollisionEnergy = 7000.0 -topAlg.Pythia8.Commands += ['HardQCD:all = on', 'PhaseSpace:pTHatMin = 30.0'] - -## Now include FixHepMC -include("EvgenProdTools/EnableFixHepMC.py") -#topAlg.FixHepMC.OutputLevel = DEBUG diff --git a/Generators/EvgenProdTools/python/.svn/entries b/Generators/EvgenProdTools/python/.svn/entries deleted file mode 100644 index d6db17d952698179b82ce0fb17bb0699a3b068b6..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/python/.svn/entries +++ /dev/null @@ -1,62 +0,0 @@ -10 - -dir -810106 -svn+ssh://svn.cern.ch/reps/atlasoff/Generators/EvgenProdTools/trunk/python -svn+ssh://svn.cern.ch/reps/atlasoff - - - -2017-02-21T11:42:58.610615Z -798182 -ewelina - - - - - - - - - - - - - - -4525493e-7705-40b1-a816-d608a930855b - -LogicalExpressionFilter.py -file - - - - -2017-09-08T09:59:20.000000Z -72b2bd75d906ee3f731d208810d3d205 -2017-02-21T11:42:58.610615Z -798182 -ewelina -has-props - - - - - - - - - - - - - - - - - - - - -8958 - diff --git a/Generators/EvgenProdTools/python/.svn/prop-base/LogicalExpressionFilter.py.svn-base b/Generators/EvgenProdTools/python/.svn/prop-base/LogicalExpressionFilter.py.svn-base deleted file mode 100644 index f19615d2d38b6042e6da151c0f29e8e6f7b7be4a..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/python/.svn/prop-base/LogicalExpressionFilter.py.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 12 -svn:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/python/.svn/text-base/LogicalExpressionFilter.py.svn-base b/Generators/EvgenProdTools/python/.svn/text-base/LogicalExpressionFilter.py.svn-base deleted file mode 100644 index b60f0d1a3aaad116f380c5b9d98b6d387ec95ac9..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/python/.svn/text-base/LogicalExpressionFilter.py.svn-base +++ /dev/null @@ -1,213 +0,0 @@ -##============================================================================== -## Name: LogicalExpressionFilter.py -## -## Author: Will Buttinger -## Created: November 2014 -## -## -## Description: This algorithm combines the results of one or more filters .. -## It is similar to LogicalFilterCombiner (from PrimaryDPDMaker) except it manages its own filters -## It is efficient: only 'executes' the filters if necessary -## -##============================================================================== - -__doc__ = """This algorithm combines the results of one or more filters""" -__version__ = "0.0.1" -__author__ = "Will Buttinger <will@cern.ch>" - -import AthenaPython.PyAthena as PyAthena -from AthenaPython.PyAthena import StatusCode -from GaudiKernel.GaudiHandles import * -from AthenaCommon.AlgSequence import AlgSequence -from AthenaCommon.Logging import logging - -import tokenize -from cStringIO import StringIO - -class LogicalExpressionFilter( PyAthena.Alg ): - _isLocked=False - def __init__ ( self, name = 'LogicalExpressionFilter', **kw ): - ## initialize base class - kw['name'] = name - super(LogicalExpressionFilter, self).__init__(**kw) - self.nEventsProcessed=0 - self.nEventsPassed=0 - self.nEventsProcessedWeighted=0 - self.nEventsPassedWeighted=0 - self.Expression = kw.get('Expression', '') - self.UseEventWeight = kw.get('UseEventWeight',True) - self.McEventKey = kw.get('McEventKey','GEN_EVENT') - self.OutputLevel = kw.get('OutputLevel',3) - # Create the algorithm dictionary - self.algdict = {} - # and a list for the owned algs (we have to call finalize ourself) - self.ownedAlgs = [] - # Create the filters list - self.filters = [] - - #where the transformed cmd goes - self.cmd = "" - - self._isLocked=True - - return - - def __setattr__(self,name,value): - if self._isLocked and not hasattr(self,name) and name != "_cppHandle": #seems like we need a special exception for cppHandle - #raise AttributeError("No") - raise AttributeError("%s not an attribute of %s" % (name,self.getName())) - return super(LogicalExpressionFilter,self).__setattr__(name,value) - - def initialize(self): - self.algdict = {} - filterNames = [] - # go through filters, creating if necessary - for filterTypeAndName in self.filters: - l = filterTypeAndName.split('/') - filterType = l[0] - filterName = l[1] - filterNames += [filterName] - _alg = PyAthena.py_alg(filterName,'IAlgorithm') - if not _alg: - #try to create - algmgr = PyAthena.py_svc('ApplicationMgr',iface='IAlgManager') - if not algmgr: - error = 'could not retrieve IAlgManager/ApplicationMgr' - self.msg.error (error) - raise RuntimeError (error) - import PyCintex - _alg = PyCintex.libPyROOT.MakeNullPointer("IAlgorithm") - if algmgr.createAlgorithm(filterType,filterName,_alg).isFailure() or not _alg: - self.msg.error ('could not create alg: ' + filterTypeAndName) - raise RuntimeError ('could not create alg: ' + filterTypeAndName) - #we are responsible for initializing it too - if _alg.sysInitialize().isFailure(): - self.msg.error('Failed to initialize alg: ' + filterTypeAndName) - raise RuntimeError('Failed not initialize alg: ' + filterTypeAndName) - self.ownedAlgs += [_alg] - self.algdict[filterName] = _alg - - - if self.Expression=="": - #do a simple and of all the filters given - self.Expression = " and ".join( filterNames ) - - self.msg.debug("Filter Expression = " + self.Expression) - - # look if parentheses are matched - if self.Expression.count("(") != self.Expression.count(")"): - self.msg.fatal("Mismatched parentheses in filter string: %s" % self.Expression) - return StatusCode.Failure - - # these parentheses are not logically correct - if self.Expression.count("{") != 0 or \ - self.Expression.count("}") != 0 or \ - self.Expression.count("[") != 0 or \ - self.Expression.count("]") != 0: - self.msg.fatal("Wrong type of parentheses in filter string: %s" % self.Expression) - return StatusCode.Failure - - - - try: - tokenobj = tokenize.generate_tokens(StringIO(self.Expression).readline) - - - result = [] - - for toknum, tokval, _, _, _ in tokenobj: - if toknum == tokenize.NAME and \ - tokval != 'or' and \ - tokval != 'not' and \ - tokval != 'and' and \ - tokval != 'True' and \ - tokval != 'False': - - - #check the token is a known alg - if tokval not in self.algdict: - self.msg.error("Unknown alg : " + tokval) - return StatusCode.Failure - - - result.extend([ - (tokenize.STRING, 'self'), - (tokenize.OP, '.'), - (tokenize.STRING, 'evalFilter'), - (tokenize.OP, '('), - (tokenize.OP, '"%s"' % tokval), - (tokenize.OP, ')') - ]) - - else: - result.append((toknum, tokval)) - - self.cmd = tokenize.untokenize(result) - - self.msg.debug("String changed internally to:\n%s", self.cmd) - - #execute command once to validate - #response = bool(eval(self.cmd)) - except Exception, e: - self.msg.fatal("%s is not a valid Python expression string. Exception: %s" % (self.Expression,e)) - return StatusCode.Failure - - return StatusCode.Success - - def evalFilter(self, filterName): - if not self.algdict[filterName].isExecuted(): - self.algdict[filterName].sysExecute( self.getContext() ) - self.algdict[filterName].setExecuted(True) - decision = self.algdict[filterName].filterPassed() - self.msg.verbose(filterName + " decision=" + str(decision)) - return decision - - def resetExecuted(self): - #reset all the filter algs too - for (algName,alg) in self.algdict.items(): - alg.resetExecuted() - return super(LogicalExpressionFilter,self).resetExecuted() - - def execute(self): - #extract from first event of McEventCollection - event_weight=1 - mc = self.evtStore[self.McEventKey] - if mc.size()==0: - self.msg.error("No events in McEventCollection!?") - return StatusCode.Failure - weights = mc[0].weights() - if weights.size()==0: - self.msg.debug("No weights to retrieve") - else: - event_weight = weights[0] - - self.nEventsProcessed+=1 - self.nEventsProcessedWeighted+=event_weight - response = bool(eval(self.cmd)) if self.cmd else True - if response: - self.nEventsPassed+=1 - self.nEventsPassedWeighted+=event_weight - self.msg.debug("My decision is: %s" % response) - self.setFilterPassed(response) - return StatusCode.Success - - def finalize(self): - #call finalize of all the owned algs - for alg in self.ownedAlgs: - if alg.finalize().isFailure(): - return StatusCode.Failure - - self.msg.info("Filter Expression = " + self.Expression) - efficiency = float(self.nEventsPassed)/float(self.nEventsProcessed) if self.nEventsProcessed!=0 else 0.0 - efficiencyWeighted = float(self.nEventsPassedWeighted)/float(self.nEventsProcessedWeighted) if self.nEventsProcessedWeighted!=0 else 0.0 - self.msg.info("Filter Efficiency = %f [%s / %s]" % (efficiency,self.nEventsPassed,self.nEventsProcessed)) - self.msg.info("Weighted Filter Efficiency = %f [%f / %f]" % (efficiencyWeighted,self.nEventsPassedWeighted,self.nEventsProcessedWeighted)) - print("MetaData: GenFiltEff = %e" % (efficiencyWeighted if self.UseEventWeight else efficiency)) - return StatusCode.Success - - - def setup(self): - self._isLocked=False #need to unlock because if this configurable is pickled and later recreated, if _isLocked is set before another attribute, that attribute is locked out (seems that unpickling doesn't cause __init__ to be recalled?) - #check for spurious properties of myself, which would indicate the user has made mistakes - self.filters = [ d.getFullName() for d in self.getChildren() ] - return super(LogicalExpressionFilter,self).setup() diff --git a/Generators/EvgenProdTools/python/LogicalExpressionFilter.py b/Generators/EvgenProdTools/python/LogicalExpressionFilter.py index b60f0d1a3aaad116f380c5b9d98b6d387ec95ac9..d1d202c44d220ee8a5d8546b4d9c5068b633f505 100644 --- a/Generators/EvgenProdTools/python/LogicalExpressionFilter.py +++ b/Generators/EvgenProdTools/python/LogicalExpressionFilter.py @@ -1,3 +1,5 @@ +# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + ##============================================================================== ## Name: LogicalExpressionFilter.py ## diff --git a/Generators/EvgenProdTools/share/.svn/entries b/Generators/EvgenProdTools/share/.svn/entries deleted file mode 100644 index c0720d191ac04fdd0406cf894658054203df472b..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/share/.svn/entries +++ /dev/null @@ -1,130 +0,0 @@ -10 - -dir -810106 -svn+ssh://svn.cern.ch/reps/atlasoff/Generators/EvgenProdTools/trunk/share -svn+ssh://svn.cern.ch/reps/atlasoff - - - -2015-03-05T14:35:31.232599Z -651888 -ewelina - - - - - - - - - - - - - - -4525493e-7705-40b1-a816-d608a930855b - -EnableFixHepMC.py -file - - - - -2017-09-08T09:59:20.000000Z -b867ae28f923cc190fa6734f2ea1bfeb -2013-10-11T16:31:00.457242Z -565099 -abuckley -has-props - - - - - - - - - - - - - - - - - - - - -352 - -G4particle_whitelist.txt -file - - - - -2017-09-08T09:59:20.000000Z -f23ea0c57796a25078dd4fd1c5b93669 -2015-02-06T10:59:32.255741Z -644655 -jchapman - - - - - - - - - - - - - - - - - - - - - -17168 - -susyParticlePdgid.txt -file - - - - -2017-09-08T09:59:20.000000Z -18bf16fb03c69d31bc477d03278f6d77 -2015-03-05T14:35:31.232599Z -651888 -ewelina - - - - - - - - - - - - - - - - - - - - - -166 - diff --git a/Generators/EvgenProdTools/share/.svn/prop-base/EnableFixHepMC.py.svn-base b/Generators/EvgenProdTools/share/.svn/prop-base/EnableFixHepMC.py.svn-base deleted file mode 100644 index bdca12dd5c258107f3caa6a336c53110915cca99..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/share/.svn/prop-base/EnableFixHepMC.py.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 12 -snv:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/share/.svn/text-base/EnableFixHepMC.py.svn-base b/Generators/EvgenProdTools/share/.svn/text-base/EnableFixHepMC.py.svn-base deleted file mode 100644 index 169e35bf7ab5e32e7c58cec01cd7ec06a8a352aa..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/share/.svn/text-base/EnableFixHepMC.py.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -# This fragment turns on the FixHepMC algorithm -from AthenaCommon.AlgSequence import AlgSequence -topAlg = AlgSequence() -print "Running FixHepMC" -if not hasattr(topAlg, "FixHepMC"): - # TODO: what if it exists but at the wrong point in the sequence? Move to the end? - from EvgenProdTools.EvgenProdToolsConf import FixHepMC - topAlg += FixHepMC() diff --git a/Generators/EvgenProdTools/share/.svn/text-base/G4particle_whitelist.txt.svn-base b/Generators/EvgenProdTools/share/.svn/text-base/G4particle_whitelist.txt.svn-base deleted file mode 100644 index 313f20a1bdd42895e435a54cb3a640d94d00a7e8..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/share/.svn/text-base/G4particle_whitelist.txt.svn-base +++ /dev/null @@ -1,371 +0,0 @@ -12 nu(e) 0.0 (MeV/c) lepton nu(e) 0 --12 nu(e)bar 0.0 (MeV/c) lepton nu(e) 0 -14 nu(mu) 0.0 (MeV/c) lepton nu(mu) 0 --14 nu(mu)bar 0.0 (MeV/c) lepton nu(mu) 0 -16 nu(tau) 0.0 (MeV/c) lepton nu(tau) 0 --16 nu(tau)bar 0.0 (MeV/c) lepton nu(tau) 0 -11 e- 0.510999 (MeV/c) lepton e 0 -22 gamma 0 (MeV/c) gamma photon 0 --11 e+ 0.510999 (MeV/c) lepton e 0 --13 mu+ 105.658 (MeV/c) lepton mu 0 -13 mu- 105.658 (MeV/c) lepton mu 0 -211 pi+ 139.57 (MeV/c) meson pi 0 --211 pi- 139.57 (MeV/c) meson pi 0 -321 kaon+ 493.677 (MeV/c) meson kaon 0 --321 kaon- 493.677 (MeV/c) meson kaon 0 -15 tau- 1776.82 (MeV/c) lepton tau 0 --15 tau+ 1776.82 (MeV/c) lepton tau 0 -111 pi0 134.977 (MeV/c) meson pi 0 -221 eta 547.853 (MeV/c) meson eta 0 -331 eta_prime 957.78 (MeV/c) meson eta_prime 0 -311 kaon0 497.614 (MeV/c) meson kaon 0 --311 anti_kaon0 497.614 (MeV/c) meson kaon 0 -130 kaon0L 497.614 (MeV/c) meson kaon 0 -310 kaon0S 497.614 (MeV/c) meson kaon 0 -411 D+ 1869.57 (MeV/c) meson D 0 --411 D- 1869.57 (MeV/c) meson D 0 -421 D0 1864.8 (MeV/c) meson D 0 --421 anti_D0 1864.8 (MeV/c) meson D 0 -431 Ds+ 1968.45 (MeV/c) meson Ds 0 --431 Ds- 1968.45 (MeV/c) meson Ds 0 -441 etac 2980.3 (MeV/c) meson etac 0 -443 J/psi 3096.92 (MeV/c) meson J/psi 0 -521 B+ 5279.17 (MeV/c) meson B 0 --521 B- 5279.17 (MeV/c) meson B 0 -511 B0 5279.5 (MeV/c) meson B 0 --511 anti_B0 5279.5 (MeV/c) meson B 0 -531 Bs0 5366.3 (MeV/c) meson Bs 0 --531 anti_Bs0 5366.3 (MeV/c) meson Bs 0 -541 Bc+ 6277 (MeV/c) meson Bc 0 --541 Bc- 6277 (MeV/c) meson Bc 0 -553 Upsilon 9460.3 (MeV/c) meson Upsilon 0 -2112 neutron 939.565 (MeV/c) baryon nucleon 0 --2112 anti_neutron 939.565 (MeV/c) baryon nucleon 0 -3122 lambda 1115.68 (MeV/c) baryon lambda 0 --3122 anti_lambda 1115.68 (MeV/c) baryon lambda 0 -3212 sigma0 1192.64 (MeV/c) baryon sigma 0 --3212 anti_sigma0 1192.64 (MeV/c) baryon sigma 0 -3222 sigma+ 1189.37 (MeV/c) baryon sigma 0 --3222 anti_sigma+ 1189.37 (MeV/c) baryon sigma 0 -3112 sigma- 1197.45 (MeV/c) baryon sigma 0 --3112 anti_sigma- 1197.45 (MeV/c) baryon sigma 0 -3322 xi0 1314.86 (MeV/c) baryon xi 0 --3322 anti_xi0 1314.86 (MeV/c) baryon xi 0 -3312 xi- 1321.71 (MeV/c) baryon xi 0 --3312 anti_xi- 1321.71 (MeV/c) baryon xi 0 -3334 omega- 1672.45 (MeV/c) baryon omega 0 --3334 anti_omega- 1672.45 (MeV/c) baryon omega 0 -4122 lambda_c+ 2286.46 (MeV/c) baryon lambda_c 0 -4222 sigma_c++ 2454.02 (MeV/c) baryon sigma_c 0 -4212 sigma_c+ 2452.9 (MeV/c) baryon sigma_c 0 -4112 sigma_c0 2453.76 (MeV/c) baryon sigma_c 0 -4232 xi_c+ 2467.8 (MeV/c) baryon xi_c 0 -4132 xi_c0 2470.88 (MeV/c) baryon xi_c 0 -4332 omega_c0 2695.2 (MeV/c) baryon omega_c 0 --4122 anti_lambda_c+ 2286.46 (MeV/c) baryon lambda_c 0 --4222 anti_sigma_c++ 2454.02 (MeV/c) baryon sigma_c 0 --4212 anti_sigma_c+ 2452.9 (MeV/c) baryon sigma_c 0 --4112 anti_sigma_c0 2453.76 (MeV/c) baryon sigma_c 0 --4232 anti_xi_c+ 2467.8 (MeV/c) baryon xi_c 0 --4132 anti_xi_c0 2470.88 (MeV/c) baryon xi_c 0 --4332 anti_omega_c0 2695.2 (MeV/c) baryon omega_c 0 -5122 lambda_b 5620.2 (MeV/c) baryon lambda_b 0 -5222 sigma_b+ 5807.8 (MeV/c) baryon sigma_b 0 -5112 sigma_b- 5815.2 (MeV/c) baryon sigma_b 0 -5232 xi_b0 5790.5 (MeV/c) baryon xi_b 0 -5132 xi_b- 5790.5 (MeV/c) baryon xi_b 0 -5332 omega_b- 6071 (MeV/c) baryon omega_b 0 --5122 anti_lambda_b 5620.2 (MeV/c) baryon lambda_b 0 --5222 anti_sigma_b+ 5807.8 (MeV/c) baryon sigma_b 0 --5112 anti_sigma_b- 5815.2 (MeV/c) baryon sigma_b 0 --5232 anti_xi_b0 5790.5 (MeV/c) baryon xi_b 0 --5132 anti_xi_b- 5790.5 (MeV/c) baryon xi_b 0 --5332 anti_omega_b- 6071 (MeV/c) baryon omega_b 0 -2224 delta++ 1232 (MeV/c) baryon 1 -2214 delta+ 1232 (MeV/c) baryon 1 -2114 delta0 1232 (MeV/c) baryon 1 -1114 delta- 1232 (MeV/c) baryon 1 --2224 anti_delta++ 1232 (MeV/c) baryon 1 --2214 anti_delta+ 1232 (MeV/c) baryon 1 --2114 anti_delta0 1232 (MeV/c) baryon 1 --1114 anti_delta- 1232 (MeV/c) baryon 1 -223 omega 782.65 (MeV/c) meson 1 -333 phi 1019.46 (MeV/c) meson 1 -213 rho+ 775.8 (MeV/c) meson 1 --213 rho- 775.8 (MeV/c) meson 1 -113 rho0 775.49 (MeV/c) meson 1 -9000211 a0(980)+ 980 (MeV/c) meson 1 --9000211 a0(980)- 980 (MeV/c) meson 1 -9000111 a0(980)0 980 (MeV/c) meson 1 -9000221 f0(600) 800 (MeV/c) meson 1 -9010221 f0(980) 980 (MeV/c) meson 1 -9020221 eta(1405) 1409.8 (MeV/c) meson 1 -9030221 f0(1500) 1505 (MeV/c) meson 1 -10331 f0(1710) 1720 (MeV/c) meson 1 -323 k_star+ 891.66 (MeV/c) meson 1 -313 k_star0 895.94 (MeV/c) meson 1 --323 k_star- 891.66 (MeV/c) meson 1 --313 anti_k_star0 895.94 (MeV/c) meson 1 -12112 N(1440)0 1440 (MeV/c) baryon 1 -12212 N(1440)+ 1440 (MeV/c) baryon 1 --12112 anti_N(1440)0 1440 (MeV/c) baryon 1 --12212 anti_N(1440)+ 1440 (MeV/c) baryon 1 -1214 N(1520)0 1520 (MeV/c) baryon 1 -2124 N(1520)+ 1520 (MeV/c) baryon 1 --1214 anti_N(1520)0 1520 (MeV/c) baryon 1 --2124 anti_N(1520)+ 1520 (MeV/c) baryon 1 -22112 N(1535)0 1535 (MeV/c) baryon 1 -22212 N(1535)+ 1535 (MeV/c) baryon 1 --22112 anti_N(1535)0 1535 (MeV/c) baryon 1 --22212 anti_N(1535)+ 1535 (MeV/c) baryon 1 -32112 N(1650)0 1655 (MeV/c) baryon 1 -32212 N(1650)+ 1655 (MeV/c) baryon 1 --32112 anti_N(1650)0 1655 (MeV/c) baryon 1 --32212 anti_N(1650)+ 1655 (MeV/c) baryon 1 -2116 N(1675)0 1675 (MeV/c) baryon 1 -2216 N(1675)+ 1675 (MeV/c) baryon 1 --2116 anti_N(1675)0 1675 (MeV/c) baryon 1 --2216 anti_N(1675)+ 1675 (MeV/c) baryon 1 -12116 N(1680)0 1685 (MeV/c) baryon 1 -12216 N(1680)+ 1685 (MeV/c) baryon 1 --12116 anti_N(1680)0 1685 (MeV/c) baryon 1 --12216 anti_N(1680)+ 1685 (MeV/c) baryon 1 -21214 N(1700)0 1700 (MeV/c) baryon 1 -22124 N(1700)+ 1700 (MeV/c) baryon 1 --21214 anti_N(1700)0 1700 (MeV/c) baryon 1 --22124 anti_N(1700)+ 1700 (MeV/c) baryon 1 -42112 N(1710)0 1710 (MeV/c) baryon 1 -42212 N(1710)+ 1710 (MeV/c) baryon 1 --42112 anti_N(1710)0 1710 (MeV/c) baryon 1 --42212 anti_N(1710)+ 1710 (MeV/c) baryon 1 -31214 N(1720)0 1720 (MeV/c) baryon 1 -32124 N(1720)+ 1720 (MeV/c) baryon 1 --31214 anti_N(1720)0 1720 (MeV/c) baryon 1 --32124 anti_N(1720)+ 1720 (MeV/c) baryon 1 -1218 N(2190)0 2190 (MeV/c) baryon 1 -2128 N(2190)+ 2190 (MeV/c) baryon 1 --1218 anti_N(2190)0 2190 (MeV/c) baryon 1 --2128 anti_N(2190)+ 2190 (MeV/c) baryon 1 -31114 delta(1600)- 1600 (MeV/c) baryon 1 -32114 delta(1600)0 1600 (MeV/c) baryon 1 -32214 delta(1600)+ 1600 (MeV/c) baryon 1 -32224 delta(1600)++ 1600 (MeV/c) baryon 1 --31114 anti_delta(1600)- 1600 (MeV/c) baryon 1 --32114 anti_delta(1600)0 1600 (MeV/c) baryon 1 --32214 anti_delta(1600)+ 1600 (MeV/c) baryon 1 --32224 anti_delta(1600)++ 1600 (MeV/c) baryon 1 -1112 delta(1620)- 1630 (MeV/c) baryon 1 -1212 delta(1620)0 1630 (MeV/c) baryon 1 -2122 delta(1620)+ 1630 (MeV/c) baryon 1 -2222 delta(1620)++ 1630 (MeV/c) baryon 1 --1112 anti_delta(1620)- 1630 (MeV/c) baryon 1 --1212 anti_delta(1620)0 1630 (MeV/c) baryon 1 --2122 anti_delta(1620)+ 1630 (MeV/c) baryon 1 --2222 anti_delta(1620)++ 1630 (MeV/c) baryon 1 -11114 delta(1700)- 1700 (MeV/c) baryon 1 -12114 delta(1700)0 1700 (MeV/c) baryon 1 -12214 delta(1700)+ 1700 (MeV/c) baryon 1 -12224 delta(1700)++ 1700 (MeV/c) baryon 1 --11114 anti_delta(1700)- 1700 (MeV/c) baryon 1 --12114 anti_delta(1700)0 1700 (MeV/c) baryon 1 --12214 anti_delta(1700)+ 1700 (MeV/c) baryon 1 --12224 anti_delta(1700)++ 1700 (MeV/c) baryon 1 -1116 delta(1905)- 1890 (MeV/c) baryon 1 -1216 delta(1905)0 1890 (MeV/c) baryon 1 -2126 delta(1905)+ 1890 (MeV/c) baryon 1 -2226 delta(1905)++ 1890 (MeV/c) baryon 1 --1116 anti_delta(1905)- 1890 (MeV/c) baryon 1 --1216 anti_delta(1905)0 1890 (MeV/c) baryon 1 --2126 anti_delta(1905)+ 1890 (MeV/c) baryon 1 --2226 anti_delta(1905)++ 1890 (MeV/c) baryon 1 -21112 delta(1910)- 1910 (MeV/c) baryon 1 -21212 delta(1910)0 1910 (MeV/c) baryon 1 -22122 delta(1910)+ 1910 (MeV/c) baryon 1 -22222 delta(1910)++ 1910 (MeV/c) baryon 1 --21112 anti_delta(1910)- 1910 (MeV/c) baryon 1 --21212 anti_delta(1910)0 1910 (MeV/c) baryon 1 --22122 anti_delta(1910)+ 1910 (MeV/c) baryon 1 --22222 anti_delta(1910)++ 1910 (MeV/c) baryon 1 -21114 delta(1920)- 1920 (MeV/c) baryon 1 -22114 delta(1920)0 1920 (MeV/c) baryon 1 -22214 delta(1920)+ 1920 (MeV/c) baryon 1 -22224 delta(1920)++ 1920 (MeV/c) baryon 1 --21114 anti_delta(1920)- 1920 (MeV/c) baryon 1 --22114 anti_delta(1920)0 1920 (MeV/c) baryon 1 --22214 anti_delta(1920)+ 1920 (MeV/c) baryon 1 --22224 anti_delta(1920)++ 1920 (MeV/c) baryon 1 -11116 delta(1930)- 1960 (MeV/c) baryon 1 -11216 delta(1930)0 1960 (MeV/c) baryon 1 -12126 delta(1930)+ 1960 (MeV/c) baryon 1 -12226 delta(1930)++ 1960 (MeV/c) baryon 1 --11116 anti_delta(1930)- 1960 (MeV/c) baryon 1 --11216 anti_delta(1930)0 1960 (MeV/c) baryon 1 --12126 anti_delta(1930)+ 1960 (MeV/c) baryon 1 --12226 anti_delta(1930)++ 1960 (MeV/c) baryon 1 -1118 delta(1950)- 1930 (MeV/c) baryon 1 -2118 delta(1950)0 1930 (MeV/c) baryon 1 -2218 delta(1950)+ 1930 (MeV/c) baryon 1 -2228 delta(1950)++ 1930 (MeV/c) baryon 1 --1118 anti_delta(1950)- 1930 (MeV/c) baryon 1 --2118 anti_delta(1950)0 1930 (MeV/c) baryon 1 --2218 anti_delta(1950)+ 1930 (MeV/c) baryon 1 --2228 anti_delta(1950)++ 1930 (MeV/c) baryon 1 -13122 lambda(1405) 1405.1 (MeV/c) baryon 1 --13122 anti_lambda(1405) 1405.1 (MeV/c) baryon 1 -3124 lambda(1520) 1519.5 (MeV/c) baryon 1 --3124 anti_lambda(1520) 1519.5 (MeV/c) baryon 1 -23122 lambda(1600) 1600 (MeV/c) baryon 1 --23122 anti_lambda(1600) 1600 (MeV/c) baryon 1 -33122 lambda(1670) 1670 (MeV/c) baryon 1 --33122 anti_lambda(1670) 1670 (MeV/c) baryon 1 -13124 lambda(1690) 1690 (MeV/c) baryon 1 --13124 anti_lambda(1690) 1690 (MeV/c) baryon 1 -43122 lambda(1800) 1800 (MeV/c) baryon 1 --43122 anti_lambda(1800) 1800 (MeV/c) baryon 1 -53122 lambda(1810) 1810 (MeV/c) baryon 1 --53122 anti_lambda(1810) 1810 (MeV/c) baryon 1 -3126 lambda(1820) 1820 (MeV/c) baryon 1 --3126 anti_lambda(1820) 1820 (MeV/c) baryon 1 -13126 lambda(1830) 1830 (MeV/c) baryon 1 --13126 anti_lambda(1830) 1830 (MeV/c) baryon 1 -23124 lambda(1890) 1890 (MeV/c) baryon 1 --23124 anti_lambda(1890) 1890 (MeV/c) baryon 1 -3128 lambda(2100) 2100 (MeV/c) baryon 1 --3128 anti_lambda(2100) 2100 (MeV/c) baryon 1 -23126 lambda(2110) 2110 (MeV/c) baryon 1 --23126 anti_lambda(2110) 2110 (MeV/c) baryon 1 -3114 sigma(1385)- 1387.2 (MeV/c) baryon 1 -3214 sigma(1385)0 1383.7 (MeV/c) baryon 1 -3224 sigma(1385)+ 1382.8 (MeV/c) baryon 1 --3114 anti_sigma(1385)- 1387.2 (MeV/c) baryon 1 --3214 anti_sigma(1385)0 1383.7 (MeV/c) baryon 1 --3224 anti_sigma(1385)+ 1382.8 (MeV/c) baryon 1 -13112 sigma(1660)- 1660 (MeV/c) baryon 1 -13212 sigma(1660)0 1660 (MeV/c) baryon 1 -13222 sigma(1660)+ 1660 (MeV/c) baryon 1 --13112 anti_sigma(1660)- 1660 (MeV/c) baryon 1 --13212 anti_sigma(1660)0 1660 (MeV/c) baryon 1 --13222 anti_sigma(1660)+ 1660 (MeV/c) baryon 1 -13114 sigma(1670)- 1670 (MeV/c) baryon 1 -13214 sigma(1670)0 1670 (MeV/c) baryon 1 -13224 sigma(1670)+ 1670 (MeV/c) baryon 1 --13114 anti_sigma(1670)- 1670 (MeV/c) baryon 1 --13214 anti_sigma(1670)0 1670 (MeV/c) baryon 1 --13224 anti_sigma(1670)+ 1670 (MeV/c) baryon 1 -23112 sigma(1750)- 1750 (MeV/c) baryon 1 -23212 sigma(1750)0 1750 (MeV/c) baryon 1 -23222 sigma(1750)+ 1750 (MeV/c) baryon 1 --23112 anti_sigma(1750)- 1750 (MeV/c) baryon 1 --23212 anti_sigma(1750)0 1750 (MeV/c) baryon 1 --23222 anti_sigma(1750)+ 1750 (MeV/c) baryon 1 -3116 sigma(1775)- 1775 (MeV/c) baryon 1 -3216 sigma(1775)0 1775 (MeV/c) baryon 1 -3226 sigma(1775)+ 1775 (MeV/c) baryon 1 --3116 anti_sigma(1775)- 1775 (MeV/c) baryon 1 --3216 anti_sigma(1775)0 1775 (MeV/c) baryon 1 --3226 anti_sigma(1775)+ 1775 (MeV/c) baryon 1 -13116 sigma(1915)- 1915 (MeV/c) baryon 1 -13216 sigma(1915)0 1915 (MeV/c) baryon 1 -13226 sigma(1915)+ 1915 (MeV/c) baryon 1 --13116 anti_sigma(1915)- 1915 (MeV/c) baryon 1 --13216 anti_sigma(1915)0 1915 (MeV/c) baryon 1 --13226 anti_sigma(1915)+ 1915 (MeV/c) baryon 1 -23114 sigma(1940)- 1940 (MeV/c) baryon 1 -23214 sigma(1940)0 1940 (MeV/c) baryon 1 -23224 sigma(1940)+ 1940 (MeV/c) baryon 1 --23114 anti_sigma(1940)- 1940 (MeV/c) baryon 1 --23214 anti_sigma(1940)0 1940 (MeV/c) baryon 1 --23224 anti_sigma(1940)+ 1940 (MeV/c) baryon 1 -3118 sigma(2030)- 2030 (MeV/c) baryon 1 -3218 sigma(2030)0 2030 (MeV/c) baryon 1 -3228 sigma(2030)+ 2030 (MeV/c) baryon 1 --3118 anti_sigma(2030)- 2030 (MeV/c) baryon 1 --3218 anti_sigma(2030)0 2030 (MeV/c) baryon 1 --3228 anti_sigma(2030)+ 2030 (MeV/c) baryon 1 -3314 xi(1530)- 1535 (MeV/c) baryon 1 -3324 xi(1530)0 1531.8 (MeV/c) baryon 1 --3314 anti_xi(1530)- 1535 (MeV/c) baryon 1 --3324 anti_xi(1530)0 1531.8 (MeV/c) baryon 1 -13314 xi(1820)- 1823 (MeV/c) baryon 1 -13324 xi(1820)0 1823 (MeV/c) baryon 1 --13314 anti_xi(1820)- 1823 (MeV/c) baryon 1 --13324 anti_xi(1820)0 1823 (MeV/c) baryon 1 --10213 b1(1235)- 1229.5 (MeV/c) meson 1 -10113 b1(1235)0 1229.5 (MeV/c) meson 1 -10213 b1(1235)+ 1229.5 (MeV/c) meson 1 -10223 h1(1170) 1170 (MeV/c) meson 1 -10313 k1(1270)0 1272 (MeV/c) meson 1 -10323 k1(1270)+ 1272 (MeV/c) meson 1 --10323 k1(1270)- 1272 (MeV/c) meson 1 --10313 anti_k1(1270)0 1272 (MeV/c) meson 1 --10211 a0(1450)- 1474 (MeV/c) meson 1 -10111 a0(1450)0 1474 (MeV/c) meson 1 -10211 a0(1450)+ 1474 (MeV/c) meson 1 --20213 a1(1260)- 1230 (MeV/c) meson 1 -20113 a1(1260)0 1230 (MeV/c) meson 1 -20213 a1(1260)+ 1230 (MeV/c) meson 1 -20223 f1(1285) 1281.8 (MeV/c) meson 1 -20333 f1(1420) 1426.4 (MeV/c) meson 1 -20313 k1(1400)0 1403 (MeV/c) meson 1 -20323 k1(1400)+ 1403 (MeV/c) meson 1 --20323 k1(1400)- 1403 (MeV/c) meson 1 --20313 anti_k1(1400)0 1403 (MeV/c) meson 1 --215 a2(1320)- 1318.3 (MeV/c) meson 1 -115 a2(1320)0 1318.3 (MeV/c) meson 1 -215 a2(1320)+ 1318.3 (MeV/c) meson 1 -225 f2(1270) 1275.1 (MeV/c) meson 1 -335 f2_prime(1525) 1525 (MeV/c) meson 1 -315 k2_star(1430)0 1432.4 (MeV/c) meson 1 -325 k2_star(1430)+ 1425.6 (MeV/c) meson 1 --325 k2_star(1430)- 1425.6 (MeV/c) meson 1 --315 anti_k2_star(1430)0 1432.4 (MeV/c) meson 1 --10215 pi2(1670)- 1672.2 (MeV/c) meson 1 -10115 pi2(1670)0 1672.2 (MeV/c) meson 1 -10215 pi2(1670)+ 1672.2 (MeV/c) meson 1 -10225 eta2(1645) 1617 (MeV/c) meson 1 -10335 eta2(1870) 1842 (MeV/c) meson 1 -10315 k2(1770)0 1773 (MeV/c) meson 1 -10325 k2(1770)+ 1773 (MeV/c) meson 1 --10325 k2(1770)- 1773 (MeV/c) meson 1 --10315 anti_k2(1770)0 1773 (MeV/c) meson 1 --30213 rho(1700)- 1720 (MeV/c) meson 1 -30113 rho(1700)0 1720 (MeV/c) meson 1 -30213 rho(1700)+ 1720 (MeV/c) meson 1 -30223 omega(1650) 1670 (MeV/c) meson 1 -30313 k_star(1680)0 1717 (MeV/c) meson 1 -30323 k_star(1680)+ 1717 (MeV/c) meson 1 --30323 k_star(1680)- 1717 (MeV/c) meson 1 --30313 anti_k_star(1680)0 1717 (MeV/c) meson 1 --217 rho3(1690)- 1688.8 (MeV/c) meson 1 -117 rho3(1690)0 1688.8 (MeV/c) meson 1 -217 rho3(1690)+ 1688.8 (MeV/c) meson 1 -227 omega3(1670) 1667 (MeV/c) meson 1 -337 phi3(1850) 1854 (MeV/c) meson 1 -317 k3_star(1780)0 1776 (MeV/c) meson 1 -327 k3_star(1780)+ 1776 (MeV/c) meson 1 --327 k3_star(1780)- 1776 (MeV/c) meson 1 --317 anti_k3_star(1780)0 1776 (MeV/c) meson 1 --100211 pi(1300)- 1300 (MeV/c) meson 1 -100111 pi(1300)0 1300 (MeV/c) meson 1 -100211 pi(1300)+ 1300 (MeV/c) meson 1 -100221 eta(1295) 1294 (MeV/c) meson 1 -100331 eta(1475) 1476 (MeV/c) meson 1 -100311 k(1460)0 1460 (MeV/c) meson 1 -100321 k(1460)+ 1460 (MeV/c) meson 1 --100321 k(1460)- 1460 (MeV/c) meson 1 --100311 anti_k(1460)0 1460 (MeV/c) meson 1 --100213 rho(1450)- 1465 (MeV/c) meson 1 -100113 rho(1450)0 1465 (MeV/c) meson 1 -100213 rho(1450)+ 1465 (MeV/c) meson 1 -100223 omega(1420) 1425 (MeV/c) meson 1 -100333 phi(1680) 1680 (MeV/c) meson 1 -100313 k_star(1410)0 1414 (MeV/c) meson 1 -100323 k_star(1410)+ 1414 (MeV/c) meson 1 --100323 k_star(1410)- 1414 (MeV/c) meson 1 --100313 anti_k_star(1410)0 1414 (MeV/c) meson 1 -9060225 f2(2010) 2010 (MeV/c) meson 1 -999 geantino 0 (MeV/c) geantino geantino 0 -998 chargedgeantino 0 (MeV/c) geantino geantino 0 -0 unboundPN 1877.84 (MeV/c) nucleus 1 -0 dineutron 1879.13 (MeV/c) nucleus 1 -0 diproton 1876.54 (MeV/c) nucleus 1 diff --git a/Generators/EvgenProdTools/share/.svn/text-base/susyParticlePdgid.txt.svn-base b/Generators/EvgenProdTools/share/.svn/text-base/susyParticlePdgid.txt.svn-base deleted file mode 100644 index ee302205bd7815742ecbbb2c88de5c5569527139..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/share/.svn/text-base/susyParticlePdgid.txt.svn-base +++ /dev/null @@ -1,20 +0,0 @@ -1000011 -1000012 -1000013 -1000014 -1000015 -1000016 -2000011 -2000013 -2000015 -1000021 -1000022 -1000023 -1000024 -1000025 -1000035 -1000037 -1000039 -999 -998 - diff --git a/Generators/EvgenProdTools/src/.svn/entries b/Generators/EvgenProdTools/src/.svn/entries deleted file mode 100644 index 704c1f1b928eae87debb8291527535db371e036b..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/entries +++ /dev/null @@ -1,235 +0,0 @@ -10 - -dir -810106 -svn+ssh://svn.cern.ch/reps/atlasoff/Generators/EvgenProdTools/trunk/src -svn+ssh://svn.cern.ch/reps/atlasoff - - - -2016-07-05T13:49:52.462568Z -759769 -vmagerl - - - - - - - - - - - - - - -4525493e-7705-40b1-a816-d608a930855b - -EvgenOTFTopUpSvc.cxx -file - - - - -2017-09-08T09:59:22.000000Z -1fbd895e1c5033a9491cb1c376ca189d -2015-06-25T10:18:08.342881Z -678193 -will -has-props - - - - - - - - - - - - - - - - - - - - -1355 - -FixHepMC.cxx -file - - - - -2017-09-08T09:59:22.000000Z -86b3d9bfe8eb4d3adaa10fc919fec449 -2015-08-27T14:40:20.140408Z -691641 -ewelina -has-props - - - - - - - - - - - - - - - - - - - - -6510 - -SimTimeEstimate.cxx -file - - - - -2017-09-08T09:59:22.000000Z -a0133d66eeeb143a05dd69e1fd0ecf0a -2016-07-05T13:49:52.462568Z -759769 -vmagerl -has-props - - - - - - - - - - - - - - - - - - - - -2989 - -components -dir - -CopyEventWeight.cxx -file - - - - -2017-09-08T09:59:22.000000Z -6da10bd56f6ab259add2daab7a3a1947 -2015-06-25T10:18:08.342881Z -678193 -will - - - - - - - - - - - - - - - - - - - - - -1502 - -CountHepMC.cxx -file - - - - -2017-09-08T09:59:22.000000Z -2a37de79fe2d1214895bc4626863db3e -2015-06-25T10:18:08.342881Z -678193 -will - - - - - - - - - - - - - - - - - - - - - -2744 - -TestHepMC.cxx -file - - - - -2017-09-08T09:59:22.000000Z -42b259231ffdbf2da1cdba7217c358f6 -2016-01-22T22:39:43.624609Z -719412 -ewelina - - - - - - - - - - - - - - - - - - - - - -36461 - diff --git a/Generators/EvgenProdTools/src/.svn/prop-base/EvgenOTFTopUpSvc.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/prop-base/EvgenOTFTopUpSvc.cxx.svn-base deleted file mode 100644 index eb0445eb82ecf54e232e71df62d245598f76825d..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/prop-base/EvgenOTFTopUpSvc.cxx.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 12 -svn:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/src/.svn/prop-base/FixHepMC.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/prop-base/FixHepMC.cxx.svn-base deleted file mode 100644 index bdca12dd5c258107f3caa6a336c53110915cca99..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/prop-base/FixHepMC.cxx.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 12 -snv:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/src/.svn/prop-base/SimTimeEstimate.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/prop-base/SimTimeEstimate.cxx.svn-base deleted file mode 100644 index eb0445eb82ecf54e232e71df62d245598f76825d..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/prop-base/SimTimeEstimate.cxx.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -K 13 -svn:eol-style -V 2 -LF -K 12 -svn:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/src/.svn/text-base/CopyEventWeight.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/text-base/CopyEventWeight.cxx.svn-base deleted file mode 100644 index 602b420b4687e4e658bee687ae26cab69f04a7c8..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/text-base/CopyEventWeight.cxx.svn-base +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#include "EvgenProdTools/CopyEventWeight.h" -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventType.h" -#include <algorithm> -#include <cassert> - -using namespace std; - - -CopyEventWeight::CopyEventWeight(const string& name, ISvcLocator* svcLoc) - : GenBase(name, svcLoc) -{ - declareProperty("McWeightEventInfoKey", m_mcWeightEventInfoKey="McWeightEventInfo"); -} - - -StatusCode CopyEventWeight::execute() { - // Check that the collection isn't empty - /// @odo What is the best thing to do if it is?! - const size_t nEvents = events_const()->size(); - if (nEvents == 0) { - ATH_MSG_WARNING("McEventCollection is empty"); - return StatusCode::SUCCESS; - } - - // Get the event info/type object to be filled - const EventInfo* pInputEvt(0); - CHECK(evtStore()->retrieve(pInputEvt)); - assert(pInputEvt); - EventType* eventType = const_cast<EventType*>(pInputEvt->event_type()); - - // Copy weights into EventInfo - const size_t nw = event_const()->weights().size(); - if (nw == 0) ATH_MSG_WARNING("EVENT WEIGHT ARRAY EMPTY"); - for (size_t iw = 0; iw < nw; ++iw) { - ATH_MSG_DEBUG("COPYING EVENT WEIGHT " << iw << "/" << nw << ": " << event_const()->weights()[iw]); - eventType->set_mc_event_weight(event_const()->weights()[iw], iw, nw); - } - - // Post-hoc debug printouts - ATH_MSG_DEBUG("Copied HepMC signal event weight(s) to EventInfo"); - if (nEvents > 1) ATH_MSG_DEBUG("Ignored event weights of " << nEvents-1 << "bkg events"); - - return StatusCode::SUCCESS; -} - -#endif diff --git a/Generators/EvgenProdTools/src/.svn/text-base/CountHepMC.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/text-base/CountHepMC.cxx.svn-base deleted file mode 100644 index b6fe8d850d7091e156d0ec4f41270c1c524d9006..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/text-base/CountHepMC.cxx.svn-base +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#include "EvgenProdTools/CountHepMC.h" -#include "GaudiKernel/IEventProcessor.h" -#include "GaudiKernel/IAlgManager.h" -#include "GaudiKernel/IOpaqueAddress.h" -#include "GaudiKernel/IProperty.h" -#include "GaudiKernel/ClassID.h" -#include "AthenaKernel/IClassIDSvc.h" -#include "AthenaKernel/errorcheck.h" -#include "EventInfo/EventInfo.h" -#include "EventInfo/EventID.h" -#include <cmath> -#include <cassert> - -using namespace std; - - -CountHepMC::CountHepMC(const std::string& name, ISvcLocator* pSvcLocator) : - GenBase(name, pSvcLocator), - m_nPass(0) -{ - declareProperty("RequestedOutput", m_nCount=5000); - declareProperty("FirstEvent", m_firstEv=1); - declareProperty("CorrectHepMC", m_corHepMC=false); - declareProperty("CorrectEventID", m_corEvtID=false); -} - - -CountHepMC::~CountHepMC() { - -} - - -StatusCode CountHepMC::initialize() { - CHECK(GenBase::initialize()); - - m_nPass = 0; - - return StatusCode::SUCCESS; -} - - -StatusCode CountHepMC::execute() { - - /// @todo Replace the old event ? - m_nPass++; - ATH_MSG_DEBUG("Current count = " << m_nPass); - - // Fix the event number - int newnum = m_nPass + m_firstEv - 1; - - if (m_corHepMC) { - // Replace the old event - HepMC::GenEvent* new_evt = new HepMC::GenEvent(*event()); - new_evt->set_event_number(newnum); - events()->pop_back(); - events()->push_back(new_evt); - } - - if (m_corEvtID) { - // Change the EventID in the eventinfo header - const EventInfo* pInputEvt(0); - if (evtStore()->retrieve(pInputEvt).isSuccess()) { - assert(pInputEvt); - EventID* eventID = const_cast<EventID*>(pInputEvt->event_ID()); - eventID->set_event_number(newnum); - ATH_MSG_DEBUG("Set new event number in event_ID"); - } else { - ATH_MSG_ERROR("No EventInfo object found"); - return StatusCode::SUCCESS; - } - } - - if (m_nPass == m_nCount) { - ATH_MSG_INFO("Stopping the event processing...." << m_nPass << "/" << m_nCount); - IEventProcessor* apm = 0; - IService* ssvc = 0; - static const bool CRE(false); - StatusCode sc = serviceLocator()->getService("AthenaEventLoopMgr", ssvc, CRE); - if (sc.isSuccess()) { - sc = ssvc->queryInterface(IEventProcessor::interfaceID(), pp_cast<void>(&apm)); - } else { - ATH_MSG_WARNING("No EventLoop Manager found "); - } - if (sc.isSuccess()) { - if ((apm->stopRun()).isFailure()) { - ATH_MSG_ERROR("StatusCode Failure in stopRun()"); - return StatusCode::FAILURE; - } - apm->release(); - } else { - ATH_MSG_WARNING("No EventLoop Manager specified "); - } - } - - return StatusCode::SUCCESS; -} - - -StatusCode CountHepMC::finalize() { - ATH_MSG_INFO("Events passing all checks and written = " << m_nPass); - return StatusCode::SUCCESS; -} - -#endif diff --git a/Generators/EvgenProdTools/src/.svn/text-base/EvgenOTFTopUpSvc.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/text-base/EvgenOTFTopUpSvc.cxx.svn-base deleted file mode 100644 index 30078c80985b5607ccffde3b768cda2591fc459a..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/text-base/EvgenOTFTopUpSvc.cxx.svn-base +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#include "EvgenProdTools/EvgenOTFTopUpSvc.h" - -EvgenOTFTopUpSvc::EvgenOTFTopUpSvc(const std::string& name, ISvcLocator* pSvcLocator) - : AthService(name, pSvcLocator) - , m_nUsedSoFar(0) - , m_newFileFlag(false) - , m_nTotal(0) - , m_nIterations(0) -{ - declareProperty("Efficiency", m_efficiency=0.9, "Estimate of Pythia/Herwig matching efficiency and filter efficiency"); - declareProperty("ExecDuringInit", m_execDuringInit=false, "Execute OTF algorithm during intialize"); - declareProperty("NPerFile", m_nPerFile=long(5000./0.9), "Number of events to make per file with OTF algorithm"); - declareProperty("NewFileName", m_newFileName="events.lhe", "Please that the new OTF events went"); -} - -StatusCode EvgenOTFTopUpSvc::finalize() { - ATH_MSG_INFO("Total on the fly generated events: " << m_nTotal << " over " << m_nIterations << " iterations."); - return StatusCode::SUCCESS; -} - -/** Query the interfaces - this is copied and pasted :( */ -StatusCode EvgenOTFTopUpSvc::queryInterface(const InterfaceID& riid, void** ppvInterface){ - if ( IID_IEvgenOTFTopUpSvc == riid ) - *ppvInterface = (IEvgenOTFTopUpSvc*)this; - else { - // Interface is not directly available: try out a base class - return Service::queryInterface(riid, ppvInterface); - } - addRef(); - return StatusCode::SUCCESS; -} - -#endif \ No newline at end of file diff --git a/Generators/EvgenProdTools/src/.svn/text-base/FixHepMC.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/text-base/FixHepMC.cxx.svn-base deleted file mode 100644 index 0c89f25da86366457b0592f529792067943ef38b..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/text-base/FixHepMC.cxx.svn-base +++ /dev/null @@ -1,158 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#include "EvgenProdTools/FixHepMC.h" -#include "TruthUtils/HepMCHelpers.h" -using namespace std; - - -FixHepMC::FixHepMC(const string& name, ISvcLocator* pSvcLocator) - : GenBase(name, pSvcLocator) - , m_loopKilled(0) - , m_pdg0Killed(0) - , m_decayCleaned(0) - , m_totalSeen(0) -{ - declareProperty("KillLoops", m_killLoops = true, "Remove particles in loops?"); - declareProperty("KillPDG0", m_killPDG0 = true, "Remove particles with PDG ID 0?"); - declareProperty("CleanDecays", m_cleanDecays = true, "Clean decay chains from non-propagating particles?"); - declareProperty("LoopsByBarcode", m_loopByBC = false, "Detect loops based on barcodes as well as vertices?"); -} - - -StatusCode FixHepMC::execute() { - for (McEventCollection::const_iterator ievt = events()->begin(); ievt != events()->end(); ++ievt) { - HepMC::GenEvent* evt = *ievt; - - // Add a unit entry to the event weight vector if it's currently empty - if (evt->weights().empty()) { - ATH_MSG_DEBUG("Adding a unit weight to empty event weight vector"); - evt->weights().push_back(1); - } - - // Set a (0,0,0) vertex to be the signal vertex if not already set - if (evt->signal_process_vertex() == NULL) { - const HepMC::FourVector nullpos; - for (HepMC::GenEvent::vertex_const_iterator iv = evt->vertices_begin(); iv != evt->vertices_end(); ++iv) { - if ((*iv)->position() == nullpos) { - ATH_MSG_DEBUG("Setting representative event position vertex"); - evt->set_signal_process_vertex(const_cast<HepMC::GenVertex*>(*iv)); - break; - } - } - } - - // Event particle content cleaning -- remove "bad" structures - vector<HepMC::GenParticle*> toremove; toremove.reserve(10); - long seenThisEvent = 0; - /// @todo Use nicer particles accessor from TruthUtils / HepMC3 when it exists - for (HepMC::GenEvent::particle_const_iterator ip = evt->particles_begin(); ip != evt->particles_end(); ++ip) { - // Skip this particle if (somehow) its pointer is null - if (*ip == NULL) continue; - m_totalSeen += 1; - seenThisEvent += 1; - - // Flag to declare if a particle should be removed - bool bad_particle = false; - - // Check for loops - if ( m_killLoops && isLoop(*ip) ) { - bad_particle = true; - m_loopKilled += 1; - ATH_MSG_DEBUG( "Found a looper : " ); - if ( msgLvl( MSG::DEBUG ) ) (*ip)->print(); - } - - // Check on PDG ID 0 - if ( m_killPDG0 && isPID0(*ip) ) { - bad_particle = true; - m_pdg0Killed += 1; - ATH_MSG_DEBUG( "Found PDG ID 0 : " ); - if ( msgLvl( MSG::DEBUG ) ) (*ip)->print(); - } - - // Clean decays - if ( m_cleanDecays && isNonTransportableInDecayChain(*ip) ) { - bad_particle = true; - m_decayCleaned += 1; - ATH_MSG_DEBUG( "Found a bad particle in a decay chain : " ); - if ( msgLvl( MSG::DEBUG ) ) (*ip)->print(); - } - - // Only add to the toremove vector once, even if multiple tests match - if (bad_particle) toremove.push_back(*ip); - } - - // Escape here if there's nothing more to do, otherwise do the cleaning - if (toremove.empty()) continue; - ATH_MSG_DEBUG("Cleaning event record of " << toremove.size() << " bad particles"); - - // Properties before cleaning - const int num_particles_orig = evt->particles_size(); - const int num_orphan_vtxs_orig = MC::const_vertices_match(evt, MC::isDisconnected).size(); - const int num_noparent_vtxs_orig = MC::const_vertices_match(evt, MC::hasNoParents).size(); - const int num_nochild_vtxs_orig = MC::const_vertices_match(evt, MC::hasNoChildren).size(); - - // Clean! - MC::reduce(evt , toremove); - - // Properties after cleaning - const int num_particles_filt = evt->particles_size(); - const int num_orphan_vtxs_filt = MC::const_vertices_match(evt, MC::isDisconnected).size(); - const int num_noparent_vtxs_filt = MC::const_vertices_match(evt, MC::hasNoParents).size(); - const int num_nochild_vtxs_filt = MC::const_vertices_match(evt, MC::hasNoChildren).size(); - - // Write out the change in the number of particles - ATH_MSG_INFO("Particles filtered: " << num_particles_orig << " -> " << num_particles_filt); - // Warn if the numbers of "strange" vertices have changed - if (num_orphan_vtxs_filt != num_orphan_vtxs_orig) - ATH_MSG_WARNING("Change in orphaned vertices: " << num_orphan_vtxs_orig << " -> " << num_orphan_vtxs_filt); - if (num_noparent_vtxs_filt != num_noparent_vtxs_orig) - ATH_MSG_WARNING("Change in no-parent vertices: " << num_noparent_vtxs_orig << " -> " << num_noparent_vtxs_filt); - if (num_nochild_vtxs_filt != num_nochild_vtxs_orig) - ATH_MSG_WARNING("Change in no-parent vertices: " << num_nochild_vtxs_orig << " -> " << num_nochild_vtxs_filt); - - } - return StatusCode::SUCCESS; -} - - -StatusCode FixHepMC::finalize() { - if (m_killLoops ) ATH_MSG_INFO( "Removed " << m_loopKilled << " of " << m_totalSeen << " particles because of loops." ); - if (m_killPDG0 ) ATH_MSG_INFO( "Removed " << m_pdg0Killed << " of " << m_totalSeen << " particles because of PDG ID 0." ); - if (m_cleanDecays) ATH_MSG_INFO( "Removed " << m_decayCleaned << " of " << m_totalSeen << " particles while cleaning decay chains." ); - return StatusCode::SUCCESS; -} - - -/// @name Classifiers for identifying particles to be removed -//@{ - -// Identify PDG ID = 0 particles, usually from HEPEVT padding -bool FixHepMC::isPID0(const HepMC::GenParticle* p) { - return p->pdg_id() == 0; -} - -// Identify non-transportable stuff _after_ hadronisation -bool FixHepMC::isNonTransportableInDecayChain(const HepMC::GenParticle* p) { - return !MC::isTransportable(p) && MC::fromDecay(p); -} - -// Identify internal "loop" particles -bool FixHepMC::isLoop(const HepMC::GenParticle* p) { - if (p->production_vertex() == p->end_vertex() && p->end_vertex() != NULL) return true; - if (m_loopByBC && p->production_vertex()) { - /// @todo Use new particle MC::parents(...) tool - for (HepMC::GenVertex::particle_iterator itrParent = p->production_vertex()->particles_begin(HepMC::parents); - itrParent != p->production_vertex()->particles_end(HepMC::parents); ++itrParent) { - if ( (*itrParent)->barcode() > p->barcode() ) { - ATH_MSG_VERBOSE("Found a loop (a la Sherpa sample) via barcode."); - return true; // Cannot vectorize, but this is a pretty short loop - } // Check on barcodes - } // Loop over parent particles - } // Has a production vertex - return false; -} - -//@} - -#endif \ No newline at end of file diff --git a/Generators/EvgenProdTools/src/.svn/text-base/SimTimeEstimate.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/text-base/SimTimeEstimate.cxx.svn-base deleted file mode 100644 index b99cf13a9332b0af5231543d62a2b73777ebdcfb..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/text-base/SimTimeEstimate.cxx.svn-base +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef XAOD_ANALYSIS -#include "EvgenProdTools/SimTimeEstimate.h" -#include "HepMC/GenEvent.h" -#include "TruthUtils/HepMCHelpers.h" - -SimTimeEstimate::SimTimeEstimate(const std::string& name, ISvcLocator* pSvcLocator) - : GenBase(name, pSvcLocator) -{ - declareProperty( "EtaLimit", m_etaMax = 6.0 ); - m_total_Events = 0; - m_total_Energy = 0.; - pidsToSkip = {12, 13, 14, 16}; -} - -StatusCode SimTimeEstimate::execute() -{ - // Loop over all events in McEventCollection - /// @todo Use C++ for(:) - for (const auto itr : *(events_const())) - { - eventEnergy = 0.; - particleNumber = 0.; - particleIDs.clear(); - particleEtas.clear(); - particleEnergies.clear(); - // Check particles - for (HepMC::GenEvent::particle_const_iterator pitr = itr->particles_begin(); pitr != itr->particles_end(); ++pitr ) - { - // Only use stable particles - if ((*pitr)->status()!=1) continue; - // Only use particles that are interacting - if (!(MC::isSimInteracting(*pitr))) continue; - // Grab the momentum - const HepMC::FourVector pmom = (*pitr)->momentum(); - // Only count particles with finite eta - if (pmom.perp()==0 || fabs(pmom.eta())>m_etaMax) continue; - particleEtas.push_back(pmom.eta()); - // add ID of particle to list - particleIDs.push_back(abs((*pitr)->pdg_id())); - // add energy per particle to get the distribution: - particleEnergies.push_back(pmom.e()); - - // Skip muons and neutrinos. This should eventually be using a common - // "is MIP-like" function, but that's a bit tricky as for - // example sometimes a chargino is stable and sometimes - // it decays. This algorithm will always be a little tricky - // in those cases, but better to *overestimate* the sim time. - - if(std::find(pidsToSkip.begin(), pidsToSkip.end(), abs((*pitr)->pdg_id())) != pidsToSkip.end()) continue; - // Add in the total energy - m_total_Energy += pmom.e(); - eventEnergy += pmom.e(); - particleNumber ++; - } // Loop over particles in the event - - //Report characterisitics of each event - ATH_MSG_INFO("==> EVENT INFORMATION | event number: " << m_total_Events << "| event energy: " << eventEnergy); // << " | particleNumber: " << particleNumber << " | particleIDs: " << particleIDs << " | etas: " << particleEtas << " | energies: " << particleEnergies); - } // Loop over events in the event collection - // One more event done! - m_total_Events++; - return StatusCode::SUCCESS; -} - -StatusCode SimTimeEstimate::finalize() - { - // Reporting in! - ATH_MSG_INFO("==> RUN INFORMATION | Processed " << m_total_Events << " events and found " << m_total_Energy << " of energy to be processed."); - - return StatusCode::SUCCESS; -} - -#endif diff --git a/Generators/EvgenProdTools/src/.svn/text-base/TestHepMC.cxx.svn-base b/Generators/EvgenProdTools/src/.svn/text-base/TestHepMC.cxx.svn-base deleted file mode 100644 index b3601eebba47e4aed10adda29b6c639ec00cc43d..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/.svn/text-base/TestHepMC.cxx.svn-base +++ /dev/null @@ -1,734 +0,0 @@ -#ifndef XAOD_ANALYSIS - -#include "EvgenProdTools/TestHepMC.h" -#include "GaudiKernel/DataSvc.h" - -using namespace std; - - -TestHepMC::TestHepMC(const string& name, ISvcLocator* pSvcLocator) - : GenBase(name, pSvcLocator), - m_thistSvc("THistSvc", name) -{ - declareProperty("PdgToSearch", m_pdg = 15); //< @todo This test is a bit weirdly specific to taus - declareProperty("CmEnergy", m_cm_energy = -1); // in MeV, -1 = get from event - declareProperty("MaxTransVtxDisp", m_max_dist_trans = 100.); // mm - declareProperty("MaxVtxDisp", m_max_dist = 1000.); // mm; - declareProperty("EnergyDifference", m_energy_diff = 1000.); // MeV - declareProperty("EnergyDifferenceError", m_max_energy_diff = 100000.); // MeV - declareProperty("CmeDifference", m_cme_diff = 1.); // MeV - declareProperty("DumpEvent", m_dumpEvent = false); - declareProperty("MinTau", m_min_tau = 1/300.); // ns; corresponds to 1mm - declareProperty("MaxNonG4Energy", m_nonG4_energy_threshold = 100.); //MeV - declareProperty("TauEffThreshold", m_tau_eff_threshold = 0.1); // fraction - declareProperty("EffWarnThreshold", m_eff_warn_threshold=0.99); // fraction - declareProperty("EffFailThreshold", m_eff_fail_threshold=0.98); // fraction - declareProperty("AccuracyMargin", m_accur_margin=0.); //MeV - - declareProperty( "G4ExtraWhiteFile", m_paramFile = "g4_extrawhite.param" ); - - declareProperty("NoDecayVertexStatuses", m_vertexStatuses ); - m_vertexStatuses.push_back( 1 ); - m_vertexStatuses.push_back( 3 ); - m_vertexStatuses.push_back( 4 ); - - - declareProperty("THistSvc", m_thistSvc); - - declareProperty("DoHist", m_doHist=true); //histograming yes/no true/false - - m_nPass = 0; - m_nFail = 0; - - m_TotalTaus = 0; - m_FastDecayedTau = 0; - - - // Check counters - m_invalidBeamParticlesCheckRate = 0; - m_beamParticleswithStatusNotFourCheckRate = 0; - m_beamEnergyCheckRate = 0; - m_vtxNANandINFCheckRate = 0; - m_vtxDisplacedstatuscode12CheckRate = 0; - m_vtxDisplacedstatuscodenot12CheckRate = 0; - m_partMomentumNANandINFCheckRate = 0; - m_undecayedPi0statuscode12CheckRate = 0; - m_unstableNoEndVtxCheckRate = 0; - m_negativeEnergyTachyonicCheckRate = 0; - m_decayCheckRate = 0; - m_undisplacedLLHdaughtersCheckRate = 0; - m_nonZeroPhotonMassCheckRate = 0; - m_energyBalanceCheckRate = 0; - m_momentumBalanceCheckRate = 0; - m_negativeEnergyCheckRate = 0; - m_tachyonCheckRate = 0; - m_stableUnstableNoParentCheckRate = 0; - m_unstablePartNoDecayVtxCheckRate = 0; - m_undecayedPi0CheckRate = 0; - m_Status1ShortLifetime = 0; - m_vtxDisplacedMoreThan_1m_CheckRateCnt = 0; - m_undisplacedDecayDaughtersOfDisplacedVtxCheckRate = 0; - m_nonG4_energyCheckRate = 0; - - m_h_energy_dispVtxCheck = 0; - m_h_energy_dispVtxCheck_lt10 = 0; - m_h_pdgid_dispVtxCheck = 0; - m_h_status_dispVtxCheck = 0; - m_h_px_dispVtxCheck = 0; - m_h_py_dispVtxCheck = 0; - m_h_pz_dispVtxCheck = 0; - m_h_vx_dispVtxCheck = 0; - m_h_vy_dispVtxCheck = 0; - m_h_vz_dispVtxCheck = 0; - m_h_vxprod_dispVtxCheck = 0; - m_h_vyprod_dispVtxCheck = 0; - m_h_vzprod_dispVtxCheck = 0; - m_h_vtxprod_dispVtxCheck = 0; - m_h_vtxend_dispVtxCheck = 0; - m_h_photon_mass = 0; - m_h_photon_energy = 0; - m_h_photon_e2_p2_e2 = 0; - m_h_energyImbalance = 0; - m_h_momentumImbalance_px = 0; - m_h_momentumImbalance_py = 0; - m_h_momentumImbalance_pz = 0; - m_h_beamparticle1_Energy = 0; - m_h_beamparticle2_Energy = 0; - m_h_cmEnergyDiff = 0; -} - - -StatusCode TestHepMC::initialize() { - CHECK(GenBase::initialize()); - - if (m_doHist){ - CHECK(m_thistSvc.retrieve()); - - m_h_energy_dispVtxCheck = new TH1F("h_energy_dispVtxCheck", "h_energy_dispVtxCheck", 2000, 0., 2000.); - m_h_energy_dispVtxCheck_lt10 = new TH1F("h_energy_dispVtxCheck_lt10", "h_energy_dispVtxCheck_lt10", 1000, 0., 10.); - m_h_pdgid_dispVtxCheck = new TH1F("h_pdgid_dispVtxCheck", "h_pdgid_dispVtxCheck", 10000, 0., 10000.); - m_h_status_dispVtxCheck = new TH1F("h_status_dispVtxCheck", "h_status_dispVtxCheck", 10000, 0., 10000.); - m_h_px_dispVtxCheck = new TH1F("h_px_dispVtxCheck", "h_px_dispVtxCheck", 4000, -2000., 2000.); - m_h_py_dispVtxCheck = new TH1F("h_py_dispVtxCheck", "h_py_dispVtxCheck", 4000, -2000., 2000.); - m_h_pz_dispVtxCheck = new TH1F("h_pz_dispVtxCheck", "h_pz_dispVtxCheck", 4000, -2000., 2000.); - m_h_vx_dispVtxCheck = new TH1F("h_vx_dispVtxCheck", "h_vx_dispVtxCheck", 40000, -200., 200); - m_h_vy_dispVtxCheck = new TH1F("h_vy_dispVtxCheck", "h_vy_dispVtxCheck", 40000, -200., 200); - m_h_vz_dispVtxCheck = new TH1F("h_vz_dispVtxCheck", "h_vz_dispVtxCheck", 40000, -200., 200); - m_h_vxprod_dispVtxCheck = new TH1F("h_vxprod_dispVtxCheck", "h_vxprod_dispVtxCheck", 40000, -200., 200.); - m_h_vyprod_dispVtxCheck = new TH1F("h_vyprod_dispVtxCheck", "h_vyprod_dispVtxCheck", 40000, -200., 200.); - m_h_vzprod_dispVtxCheck = new TH1F("h_vzprod_dispVtxCheck", "h_vzprod_dispVtxCheck", 40000, -200., 200.); - m_h_vtxprod_dispVtxCheck = new TH1F("h_vtxprod_dispVtxCheck", "h_vtxprod_dispVtxCheck", 20000, 0., 200.); - m_h_vtxend_dispVtxCheck = new TH1F("h_vtxend_dispVtxCheck", "h_vtxend_dispVtxCheck", 20000, 0., 200.); - m_h_photon_mass = new TH1F("h_photon_mass", "h_photon_mass", 20000, -10000., 10000); - m_h_photon_energy = new TH1F("h_photon_energy", "h_photon_energy", 20000, -10000., 10000); - m_h_photon_e2_p2_e2 = new TH1F("h_photon_e2_p2_e2", "h_photon_e2_p2_e2", 20000, -10., 10); - m_h_energyImbalance = new TH1F("h_energyImbalance", "h_energyImbalance", 2000, 0., 2000.); - m_h_momentumImbalance_px = new TH1F("h_momentumImbalance_px", "h_momentumImbalance_px", 2000,0., 2000.); - m_h_momentumImbalance_py = new TH1F("h_momentumImbalance_py", "h_momentumImbalance_py", 2000,0., 2000.); - m_h_momentumImbalance_pz = new TH1F("h_momentumImbalance_pz", "h_momentumImbalance_pz", 2000,0., 2000.); - m_h_beamparticle1_Energy = new TH1F("h_beamparticle1_Energy", "h_beamparticle1_Energy", 14000,0., 14000.); - m_h_beamparticle2_Energy = new TH1F("h_beamparticle2_Energy", "h_beamparticle2_Energy", 14000,0., 14000.); - m_h_cmEnergyDiff = new TH1F("h_cmEnergyDiff", "h_cmEnergyDiff", 8000, -4000., 4000.); - - CHECK(m_thistSvc->regHist("/TestHepMCname/h_energy_dispVtxCheck", m_h_energy_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_energy_dispVtxCheck_lt10", m_h_energy_dispVtxCheck_lt10)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_pdgid_dispVtxCheck", m_h_pdgid_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_status_dispVtxCheck", m_h_status_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_px_dispVtxCheck", m_h_px_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_py_dispVtxCheck", m_h_py_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_pz_dispVtxCheck", m_h_pz_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_vx_dispVtxCheck", m_h_vx_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_vy_dispVtxCheck", m_h_vy_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_vz_dispVtxCheck", m_h_vz_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_vxprod_dispVtxCheck", m_h_vxprod_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_vyprod_dispVtxCheck", m_h_vyprod_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_vzprod_dispVtxCheck", m_h_vzprod_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_vtxprod_dispVtxCheck", m_h_vtxprod_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_vtxend_dispVtxCheck", m_h_vtxend_dispVtxCheck)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_photon_mass", m_h_photon_mass)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_photon_energy", m_h_photon_energy)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_photon_e2_p2_e2", m_h_photon_e2_p2_e2)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_energyImbalance", m_h_energyImbalance)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_momentumImbalance_px", m_h_momentumImbalance_px)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_momentumImbalance_py", m_h_momentumImbalance_py)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_momentumImbalance_pz", m_h_momentumImbalance_pz)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_beamparticle1_Energy", m_h_beamparticle1_Energy)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_beamparticle2_Energy", m_h_beamparticle2_Energy)); - CHECK(m_thistSvc->regHist("/TestHepMCname/h_cmEnergyDiff", m_h_cmEnergyDiff)); - - ATH_MSG_INFO("No decay vertex is ignored for particles with status (list):" ); - for ( unsigned int i = 0; i < m_vertexStatuses.size(); i++ ) ATH_MSG_INFO(" : " << m_vertexStatuses.at(i) ); - ATH_MSG_INFO("Vertex statuses finsihed"); - - } - - //open the files and read G4particle_whitelist.txt - G4file.open("G4particle_whitelist.txt"); - std::string line; - int G4pdgID; - - if (!G4file.fail()){ - - while(std::getline(G4file,line)){ - std::stringstream ss(line); - ss >> G4pdgID; - - m_G4pdgID_tab.push_back(G4pdgID); - - } - G4file.close(); - } - else{ - ATH_MSG_WARNING("Failed to open G4particle_whitelist.txt, checking that all particles are known by Genat4 cannot be performed"); - } - - //open the files and read G4particle_whitelist.txt - G4file.open(m_paramFile.c_str()); - // std::string line; - // int G4pdgID; - - if (!G4file.fail()){ - ATH_MSG_INFO("extra white list for G4 found " << m_paramFile.c_str()); - while(std::getline(G4file,line)){ - std::stringstream ss(line); - ss >> G4pdgID; - - m_G4pdgID_tab.push_back(G4pdgID); - - } - G4file.close(); - } - else{ - ATH_MSG_INFO("extra white list for G4 not provided "); - } - - //open the files and read susyParticlePdgid.txt - susyFile.open("susyParticlePdgid.txt"); - string line1; - int susyPdgID; - - if (!susyFile.fail()){ - - while(getline(susyFile,line1)){ - stringstream ss1(line1); - ss1 >> susyPdgID; - - m_SusyPdgID_tab.push_back(susyPdgID); - - } - susyFile.close(); - } - else{ - ATH_MSG_WARNING("Failed to open susyParticlePdgid.txt, listing particles not present in PDTTable"); - } - - return StatusCode::SUCCESS; -} - - -StatusCode TestHepMC::execute() { - // If the efficiency after 100 events is below 10%, there is an important bug going on: - // we fail the job immediately so it doesn't run for ever - const double tmp_efficiency = double(m_nPass) / double(m_nPass + m_nFail); - if ((m_nPass + m_nFail) > 100 && tmp_efficiency < 0.1) { - ATH_MSG_FATAL("The efficiency after " << m_nPass + m_nFail << " events is " << tmp_efficiency*100. << "% !!!"); - return StatusCode::FAILURE; - } - - // Loop over all events in McEventCollection - /// @todo Use C++ for(:) - for (McEventCollection::const_iterator itr = events_const()->begin(); itr != events_const()->end(); ++itr) { - const HepMC::GenEvent* evt = *itr; - - double totalPx = 0; - double totalPy = 0; - double totalPz = 0; - double totalE = 0; - double nonG4_energy = 0; - vector<int> negEnPart; - vector<int> tachyons; - vector<int> unstNoEnd; - vector<int> unDecPi0; - vector<int> undisplaceds; - - // Check beams and work out per-event beam energy - const pair<HepMC::GenParticle*, HepMC::GenParticle*> beams = evt->beam_particles(); - double cmenergy = m_cm_energy; - if (!evt->valid_beam_particles()) { - ATH_MSG_WARNING("Invalid beam particle pointers -- this generator interface should be fixed"); - if (cmenergy < 0) ATH_MSG_WARNING("Invalid expected beam energy: " << cmenergy << " MeV"); - ++m_invalidBeamParticlesCheckRate; - } else { - if (beams.first->status() != 4 || beams.second->status() != 4) { - ATH_MSG_WARNING("Beam particles have incorrectly set status -- this generator interface should be fixed"); - ++m_beamParticleswithStatusNotFourCheckRate; - } - const double sumE = beams.first->momentum().e() + beams.second->momentum().e(); - const double sumP = beams.first->momentum().pz() + beams.second->momentum().pz(); - cmenergy = sqrt(sumE*sumE - sumP*sumP); - - if (m_cm_energy > 0 && fabs(cmenergy - m_cm_energy) > m_cme_diff) { - ATH_MSG_FATAL("Beam particles have incorrect energy: " << m_cm_energy/1000. << " GeV expected, vs. " << cmenergy/1000. << " GeV found"); - setFilterPassed(false); - if (m_doHist){ - m_h_beamparticle1_Energy->Fill(beams.first->momentum().e()*1.E-03); - m_h_beamparticle2_Energy->Fill(beams.second->momentum().e()*1.E-03); - m_h_cmEnergyDiff->Fill((cmenergy-m_cm_energy)*1.E-03); - } - ++m_beamEnergyCheckRate; - //return StatusCode::SUCCESS; - return StatusCode::FAILURE; - } - } - - - // Check vertices - int m_vtxDisplacedstatuscode12CheckRateCnt=0; - int m_vtxDisplacedstatuscodenot12CheckRateCnt=0; - for (HepMC::GenEvent::vertex_const_iterator vitr = evt->vertices_begin(); vitr != evt->vertices_end(); ++vitr ) { - const HepMC::GenVertex* vtx = *vitr; - const HepMC::ThreeVector pos = vtx->point3d(); - - // Check for NaNs and infs in vertex position components - if ( std::isnan(pos.x()) || std::isinf(pos.x()) || - std::isnan(pos.y()) || std::isinf(pos.y()) || - std::isnan(pos.z()) || std::isinf(pos.z()) ) { - ATH_MSG_WARNING("NaN (Not A Number) or inf found in the event record vertex positions"); - ++m_nFail; - ++m_vtxNANandINFCheckRate; - if (m_dumpEvent) (*itr)->print(); - setFilterPassed(false); - return StatusCode::SUCCESS; - } - - // Check for too-far-displaced vertices - // Anything which propagates macroscopically should be set stable in evgen for G4 to handle - const double dist_trans2 = pos.x()*pos.x() + pos.y()*pos.y(); // in mm2 - const double dist2 = dist_trans2 + pos.z()*pos.z(); // in mm2 - const double dist_trans = sqrt(dist_trans2); // in mm - const double dist = sqrt(dist2); // in mm - if (dist2 > m_max_dist*m_max_dist) { - ATH_MSG_WARNING("Found vertex position displaced by more than " << m_max_dist << "mm: " << dist << "mm"); - ++m_vtxDisplacedMoreThan_1m_CheckRateCnt; - ++m_nFail; - setFilterPassed(false); - return StatusCode::SUCCESS; - } - if (dist_trans2 > m_max_dist_trans*m_max_dist_trans) { - ATH_MSG_WARNING("Found vertex position displaced by more than " << m_max_dist_trans << "mm in transverse distance: " << dist_trans << "mm"); - - HepMC::GenVertex::particle_iterator par = (*vitr)->particles_begin(HepMC::parents); - for (; par != (*vitr)->particles_end(HepMC::parents); ++par) { - // std::cout << "Outgoing particle : " << std::endl; - // (*par)->print(); - ATH_MSG_WARNING("Outgoing particle : "); - if (m_dumpEvent) (*par)->print(); - ATH_MSG_WARNING("production vertex = " << (*par)->production_vertex()->point3d().x() << ", " << (*par)->production_vertex()->point3d().y() << ", " << (*par)->production_vertex()->point3d().z()); - ATH_MSG_WARNING("end vertex = " << (*par)->end_vertex()->point3d().x() << ", " << (*par)->end_vertex()->point3d().y() << ", " << (*par)->end_vertex()->point3d().z()); - ATH_MSG_WARNING("parents info: "); - // std::cout << "production vertex = " << (*par)->production_vertex()->point3d().x() << ", " << (*par)->production_vertex()->point3d().y() << ", " << (*par)->production_vertex()->point3d().z() << endl; - // std::cout << "end vertex = " << (*par)->end_vertex()->point3d().x() << ", " << (*par)->end_vertex()->point3d().y() << ", " << (*par)->end_vertex()->point3d().z() << endl; - // std::cout << << std::endl; - if ((*par)->production_vertex()) { - HepMC::GenVertex::particle_iterator p_parents = (*par)->production_vertex()->particles_begin(HepMC::parents); - for(; p_parents != (*par)->production_vertex()->particles_end(HepMC::parents); ++p_parents) { - // cout << "\t"; - if (m_dumpEvent) (*p_parents)->print(); - ATH_MSG_WARNING("\t"); - - } - } - - if ((*par)->status()==1 || (*par)->status()==2) - m_vtxDisplacedstatuscode12CheckRateCnt += 1; - else - m_vtxDisplacedstatuscodenot12CheckRateCnt += 1; - - - if (m_doHist){ - m_h_energy_dispVtxCheck->Fill((*par)->momentum().e()*1e-3); - if ((*par)->momentum().e()*1e-3 < 10.) { - m_h_energy_dispVtxCheck_lt10->Fill((*par)->momentum().e()*1e-3);} - m_h_pdgid_dispVtxCheck->Fill((*par)->pdg_id()); - m_h_status_dispVtxCheck->Fill((*par)->status()); - m_h_px_dispVtxCheck->Fill((*par)->momentum().px()*1e-3); - m_h_py_dispVtxCheck->Fill((*par)->momentum().py()*1e-3); - m_h_pz_dispVtxCheck->Fill((*par)->momentum().pz()*1e-3); - m_h_vx_dispVtxCheck->Fill((*par)->end_vertex()->point3d().x()); - m_h_vy_dispVtxCheck->Fill((*par)->end_vertex()->point3d().y()); - m_h_vz_dispVtxCheck->Fill((*par)->end_vertex()->point3d().z()); - m_h_vxprod_dispVtxCheck->Fill((*par)->production_vertex()->point3d().x()); - m_h_vyprod_dispVtxCheck->Fill((*par)->production_vertex()->point3d().y()); - m_h_vzprod_dispVtxCheck->Fill((*par)->production_vertex()->point3d().z()); - double endvx = (*par)->end_vertex()->point3d().x(); - double endvy = (*par)->end_vertex()->point3d().y(); - double endvz = (*par)->end_vertex()->point3d().z(); - double prodvx = (*par)->production_vertex()->point3d().x(); - double prodvy = (*par)->production_vertex()->point3d().y(); - double prodvz = (*par)->production_vertex()->point3d().z(); - double enddis = sqrt(endvx*endvx + endvy*endvy + endvz*endvz); - double proddis = sqrt(prodvx*prodvx + prodvy*prodvy + prodvz*prodvz); - m_h_vtxend_dispVtxCheck->Fill(enddis); - m_h_vtxprod_dispVtxCheck->Fill(proddis); - } - } - } - } - if (m_vtxDisplacedstatuscode12CheckRateCnt>0) ++m_vtxDisplacedstatuscode12CheckRate; - if (m_vtxDisplacedstatuscodenot12CheckRateCnt>0) ++m_vtxDisplacedstatuscodenot12CheckRate; - - // Check particles - for (HepMC::GenEvent::particle_const_iterator pitr = evt->particles_begin(); pitr != evt->particles_end(); ++pitr ) { - - // Local loop variables to clean up the check code - const HepMC::FourVector pmom = (*pitr)->momentum(); - const int pstatus = (*pitr)->status(); - const int ppdgid = (*pitr)->pdg_id(); - const int pbarcode = (*pitr)->barcode(); - // Check for NaNs and infs in momentum components - if ( std::isnan(pmom.px()) || std::isinf(pmom.px()) || - std::isnan(pmom.py()) || std::isinf(pmom.py()) || - std::isnan(pmom.pz()) || std::isinf(pmom.pz()) || - std::isnan(pmom.e()) || std::isinf(pmom.e()) ) { - ATH_MSG_WARNING("NaN (Not A Number) or inf found in the event record momenta"); - ++m_partMomentumNANandINFCheckRate; - ++m_nFail; - if (m_dumpEvent) (*pitr)->print(); - setFilterPassed(false); - return StatusCode::SUCCESS; - } - - // Check for undecayed pi0s - if (pstatus == 1 || pstatus == 2) { - if (ppdgid == 111 && !(*pitr)->end_vertex() ) { - unDecPi0.push_back( pbarcode); - ++m_undecayedPi0CheckRate; - } - } - - //check stable particle lifetimes - if (pstatus == 1) { - const HepPDT::ParticleData* pd = particleData(ppdgid); - if (pd != NULL) { - double plifetime = pd->lifetime()*1e+12; // why lifetime doesn't come in common units??? - if (plifetime != 0 && plifetime < m_min_tau) { // particles with infinite lifetime get a 0 in the PDT - ATH_MSG_WARNING("Stable particle found with lifetime = " << plifetime << "~ns!!"); - if (m_dumpEvent) (*pitr)->print(); - - ++m_Status1ShortLifetime; - ++m_nFail; - setFilterPassed(false); - return StatusCode::SUCCESS; - } - } - else{ - int susyPart = 0; - vector<int>::size_type count = 0; - while (susyPart==0 && (count < m_SusyPdgID_tab.size() )){ - // no warning for SUSY particles from the list susyParticlePdgid.txt - if (m_SusyPdgID_tab[count] == abs(ppdgid)) { - // cout << "susy particle " << ppdgid << endl; - susyPart=1; - } - count++; - } - if (susyPart==0){ - ATH_MSG_WARNING("Stable particle not found in PDT, no lifetime check done"); - if (m_dumpEvent) (*pitr)->print(); - - } - } - } - - //Check that stable particles are known by G4 or they are non-interacting - HepPDT::ParticleID pid(ppdgid); - int first_dig = ppdgid; - while(first_dig > 9) first_dig /= 10; - - if ((pstatus == 1 ) && (!(*pitr)->end_vertex()) && (!nonint.operator()(*pitr)) && (!pid.isNucleus()) && (first_dig != 9) ) { - - int known_byG4 = 0; - vector<int>::size_type count =0; - - - while (known_byG4==0 && count < m_G4pdgID_tab.size()){ -// std::cout<< "G4 pdgid " << m_G4pdgID_tab[count] << std::endl; - if(ppdgid == m_G4pdgID_tab[count]) known_byG4=1; - count++; - } - if(known_byG4==0){ - nonG4_energy += pmom.e(); - ATH_MSG_WARNING("Interacting particle not known by Geant4 with ID " << ppdgid); - } - } - - // Check for unstables with no end vertex, such as undecayed gluons, Ws, Zs, and h [not status 3 to avoid probles with photos] - if (!(*pitr)->end_vertex() && - ( ( std::find( m_vertexStatuses.begin(), m_vertexStatuses.end(), pstatus ) == m_vertexStatuses.end() ) - || - ((abs(ppdgid) == 23 || ppdgid == 24 || ppdgid == 25) && pstatus != 3))) { - unstNoEnd.push_back(pbarcode); - ++m_unstableNoEndVtxCheckRate; - } - - // Sum final state mom/energy, and note negative energy / tachyonic particles - // std::cout << "status " << pstatus << " e " << pmom.e() << " pz " << pmom.pz()<< std::endl; - if ( pstatus == 1 && !(*pitr)->end_vertex() ) { - totalPx += pmom.px(); - totalPy += pmom.py(); - totalPz += pmom.pz(); - totalE += pmom.e(); - if (pmom.e() < 0) {negEnPart.push_back(pbarcode); ++m_negativeEnergyTachyonicCheckRate;} - const double aener = fabs(pmom.e()); - if ( aener+m_accur_margin < fabs(pmom.px()) || aener+m_accur_margin < fabs(pmom.py()) || aener+m_accur_margin < fabs(pmom.pz()) ) { - tachyons.push_back(pbarcode); - ++m_negativeEnergyTachyonicCheckRate; - } - } - - // Decay checks (uses PdgToSearch attr value, for tau by default) - /// @todo Clean up / improve / apply to *all* decaying species - int tau_child = 0; - if (abs(ppdgid) == m_pdg && (pstatus == 1 || pstatus == 2)) { - ++m_TotalTaus; - HepMC::GenVertex* vtx = (*pitr)->end_vertex(); - if (vtx) { - double p_energy = 0; - HepMC::GenVertex::particle_iterator desc = vtx->particles_begin(HepMC::descendants); - for ( ; desc != vtx->particles_end(HepMC::descendants); ++desc) { - if (abs((*desc)->pdg_id()) == m_pdg) tau_child = 1; - if ((*desc)->status() == 1) p_energy += (*desc)->momentum().e(); - } - if (fabs( p_energy - pmom.e()) > m_energy_diff && !tau_child) { - ATH_MSG_WARNING("Energy sum (decay products): " - << "Energy (original particle) > " << m_energy_diff << " MeV, " - << "Event #" << evt->event_number() << ", " - << "Barcode of the original particle = " << pbarcode); - ++m_decayCheckRate; - if (m_dumpEvent) (*itr)->print(); - } - //most taus should not decay immediately - const HepMC::FourVector tau_decaypos = vtx->position(); - const double tau_displacement = tau_decaypos.x()*tau_decaypos.x() + tau_decaypos.y()*tau_decaypos.y() + tau_decaypos.z()*tau_decaypos.z(); - //tau_child!=1 exclude cases in which a tau is copied to another vertex or emits a photon - if ((tau_displacement < 1.e-6) && (tau_child!=1)) ++m_FastDecayedTau; - } else { - ATH_MSG_WARNING("UNDECAYED PARTICLE WITH PDG_ID = " << m_pdg); - ++m_decayCheckRate; - if (m_dumpEvent) (*itr)->print(); - } - } - - // Check for undisplaced decay daughters from long-lived hadrons - if ((*pitr)->end_vertex()) { - HepMC::GenVertex* decayvtx = (*pitr)->end_vertex(); - const HepMC::FourVector decaypos = decayvtx->position(); - const double displacement = decaypos.x()*decaypos.x() + decaypos.y()*decaypos.y() + decaypos.z()*decaypos.z(); - if (displacement > 1e-6) { - HepMC::GenVertex::particle_iterator ipbegin = decayvtx->particles_begin(HepMC::children); - HepMC::GenVertex::particle_iterator ipend = decayvtx->particles_end(HepMC::children); - for (HepMC::GenVertex::particle_iterator ip = ipbegin; ip != ipend; ++ip) { - const HepMC::FourVector pos2 = (*ip)->production_vertex()->position(); - const double displacement2 = pos2.x()*pos2.x() + pos2.y()*pos2.y() + pos2.z()*pos2.z(); - if (displacement2 < 1e-6) { - const int pbarcode2 = (*ip)->barcode(); - const int vbarcode2 = (*ip)->production_vertex()->barcode(); - ATH_MSG_WARNING("Decay child " << pbarcode2 << " from " << pbarcode - << " has undisplaced vertex (" << vbarcode2 - << " @ " << displacement2 << "mm) " - << " but parent vertex is displaced (" << decayvtx->barcode() - << " @ " << displacement << "mm)"); - undisplaceds.push_back(pbarcode2); - ++m_undisplacedLLHdaughtersCheckRate; - } - } - } - } - - // Check for photons with non-zero masses - /// @todo Persuade generator authors to set proper generated masses in HepMC, then *really* require mass = 0 - if (ppdgid == 22 && pstatus == 1) { - const double mass = (*pitr)->generated_mass(); - if (fabs(mass) > 1.0) { // in MeV - ATH_MSG_WARNING("Photon with non-zero mass found! Mass: " << mass << " MeV, BARCODE=" << pbarcode); - ++m_nonZeroPhotonMassCheckRate; - } - } - - } - - // Energy of interacting particles not known by Geant4 - if(nonG4_energy > m_nonG4_energy_threshold) { - ATH_MSG_WARNING("The energy of interacting particles not known by Geant4 is = " << nonG4_energy << " MeV"); - setFilterPassed(false); - ++m_nonG4_energyCheckRate; - ++m_nFail; - return StatusCode::SUCCESS; - } - - // Energy balance - double lostE = fabs(totalE - cmenergy); - if (lostE > m_energy_diff) { - ATH_MSG_WARNING("ENERGY BALANCE FAILED : E-difference = " << lostE << " MeV"); - - // std::cout << "balance " << totalPx << " " << totalPy << " " << totalPz << " " << totalE << std::endl; - ATH_MSG_WARNING("balance " << totalPx << " " << totalPy << " " << totalPz << " " << totalE); - - if (m_doHist){ - m_h_energyImbalance->Fill(lostE*1.E-03); - // std::cout << "hidt filled " << std::endl; - } - if (m_dumpEvent) (*itr)->print(); - setFilterPassed(false); - ++m_energyBalanceCheckRate; - ++m_nFail; - return StatusCode::SUCCESS; - } - - // Momentum balance - if ( fabs(totalPx) > m_energy_diff || fabs(totalPy) > m_energy_diff || fabs(totalPz) > m_energy_diff ) { - ATH_MSG_WARNING("MOMENTUM BALANCE FAILED : SumPx = " << totalPx << " SumPy = " << totalPy << " SumPz = " << totalPz << " MeV"); - //if (m_dumpEvent || fabs(totalPx) > m_max_energy_diff || fabs(totalPy) > m_max_energy_diff || fabs(totalPz) > m_max_energy_diff) (*itr)->print(); - if (m_doHist){ - m_h_momentumImbalance_px->Fill(fabs(totalPx)*1.E-03); - m_h_momentumImbalance_py->Fill(fabs(totalPy)*1.E-03); - m_h_momentumImbalance_pz->Fill(fabs(totalPz)*1.E-03); - } - if (m_dumpEvent) (*itr)->print(); - setFilterPassed(false); - ++m_momentumBalanceCheckRate; - ++m_nFail; - return StatusCode::SUCCESS; - } - - // Negative energy particles - if (!negEnPart.empty()) { - stringstream ss; - ss << "NEGATIVE ENERGY PARTICLES FOUND : BARCODES ="; - for (vector<int>::const_iterator b = negEnPart.begin(); b != negEnPart.end(); ++b) - ss << " " << *b; - ATH_MSG_WARNING(ss.str()); - if (m_dumpEvent) (*itr)->print(); - setFilterPassed(false); - ++m_negativeEnergyCheckRate; - ++m_nFail; - return StatusCode::SUCCESS; - } - - // Tachyons - if (!tachyons.empty()) { - stringstream ss; - ss << "PARTICLES WITH |E| < |Pi| (i=x,y,z) FOUND : BARCODES ="; - for (vector<int>::const_iterator b = tachyons.begin(); b != tachyons.end(); ++b) - ss << " " << *b; - ATH_MSG_WARNING(ss.str()); - if (m_dumpEvent) (*itr)->print(); - setFilterPassed(false); - ++m_energyBalanceCheckRate; - ++m_nFail; - return StatusCode::SUCCESS; - } - - // Unstable particles with no decay vertex - if (!unstNoEnd.empty()) { - stringstream ss; - ss << "Unstable particle with no decay vertex found: BARCODES ="; - for (vector<int>::const_iterator b = unstNoEnd.begin(); b != unstNoEnd.end(); ++b) - ss << " " << *b; - ATH_MSG_WARNING(ss.str()); - if (m_dumpEvent) (*itr)->print(); - setFilterPassed(false); - ++m_unstablePartNoDecayVtxCheckRate; - ++m_nFail; - return StatusCode::SUCCESS; - } - - // Undecayed pi0 - if (!unDecPi0.empty()) { - stringstream ss; - ss << "pi0 with no decay vertex found: BARCODES ="; - for (vector<int>::const_iterator b = unDecPi0.begin(); b != unDecPi0.end(); ++b) - ss << " " << *b; - ATH_MSG_WARNING(ss.str()); - if (m_dumpEvent) (*itr)->print(); - setFilterPassed(false); - ++m_undecayedPi0CheckRate; - ++m_nFail; - return StatusCode::SUCCESS; - } - - // Undisplaced decay daughters of displaced vertices - if (!undisplaceds.empty()) { - stringstream ss; - ss << "Undisplaced decay vertices from displaced particle: BARCODES ="; - for (vector<int>::const_iterator b = undisplaceds.begin(); b != undisplaceds.end(); ++b) - ss << " " << *b; - ATH_MSG_WARNING(ss.str()); - if (m_dumpEvent) (*itr)->print(); - setFilterPassed(false); - ++m_undisplacedDecayDaughtersOfDisplacedVtxCheckRate; - ++m_nFail; - return StatusCode::SUCCESS; - } - - } - - // End of execution for each event - ++m_nPass; - - return StatusCode::SUCCESS; - } - - -StatusCode TestHepMC::finalize() { - - ATH_MSG_INFO("Events passed = " << m_nPass << ", Events Failed = " << m_nFail); - - ATH_MSG_INFO(" Event rate with invalid Beam Particles = " << m_invalidBeamParticlesCheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with beam particles and status not equal to 4 = " << m_beamParticleswithStatusNotFourCheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with incorrect beam particle energies = " << m_beamEnergyCheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with NaN (Not A Number) or inf found in the event record vertex positions = " << m_vtxNANandINFCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with vertices displaced more than " << m_max_dist_trans << "~mm in transverse direction for particles with status codes 1 and 2 = " << m_vtxDisplacedstatuscode12CheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with vertices displaced more than " << m_max_dist_trans << "~mm in transverse direction for particles with status code other than 1 and 2 = " << m_vtxDisplacedstatuscodenot12CheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with vertices displaced more than " << m_max_dist << "~mm = " << m_vtxDisplacedMoreThan_1m_CheckRateCnt*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with NAN (Not A Number) or inf found in particle momentum values = " << m_partMomentumNANandINFCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with undecayed pi0's with status 1 or 2 = " << m_undecayedPi0statuscode12CheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with unstable particles with no end vertex = " << m_unstableNoEndVtxCheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with negative total energy like for tachyonic particles = " << m_negativeEnergyTachyonicCheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with particles with improper decay properties = " << m_decayCheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with undisplaced daughters of long lived hadrons = " << m_undisplacedLLHdaughtersCheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with non zero photon mass = " << m_nonZeroPhotonMassCheckRate*100.0/double(m_nPass + m_nFail) << "% (not included in test efficiency)"); - ATH_MSG_INFO(" Event rate with no energy balance = " << m_energyBalanceCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with no momentum balance = " << m_momentumBalanceCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with negative energy particles = " << m_negativeEnergyCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with tachyons = " << m_tachyonCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with stable or unstable particles with no parents = " << m_stableUnstableNoParentCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with unstable particle with no decay vertex = " << m_unstablePartNoDecayVtxCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with undecayed Pi0's = " << m_undecayedPi0CheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with undisplaced decay daughters of displaced vertices = " << m_undisplacedDecayDaughtersOfDisplacedVtxCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with particles with status 1 but lifetime < " << m_min_tau << "~ns = " << m_Status1ShortLifetime*100.0/double(m_nPass + m_nFail) << "%"); - ATH_MSG_INFO(" Event rate with energy sum of interacting particles non known by Geant4 above " << m_nonG4_energy_threshold << " MeV = " << m_nonG4_energyCheckRate*100.0/double(m_nPass + m_nFail) << "%"); - - const double tau_fastDrate = double(m_FastDecayedTau) / double(m_TotalTaus); - if(tau_fastDrate > m_tau_eff_threshold){ - ATH_MSG_FATAL("MORE THAN " << 100.*m_tau_eff_threshold << "% OF TAUS DECAYING IMMEDIATELY! " << m_FastDecayedTau << " found, out of: " << m_TotalTaus); - return StatusCode::FAILURE; - } - - - const double efficiency = double(m_nPass) / double(m_nPass + m_nFail); - ATH_MSG_INFO("Efficiency = " << efficiency * 100 << "%"); - - // Check efficiency, and fail (to kill production jobs) if the pass rate is too low - if (efficiency < m_eff_fail_threshold) { - ATH_MSG_FATAL("EFFICIENCY IS TOO LOW! " << 100*efficiency << "% found, but at least: " << 100*m_eff_fail_threshold << "% required"); - return StatusCode::FAILURE; - } else if (efficiency <= m_eff_warn_threshold) { - ATH_MSG_WARNING("LOW EFFICIENCY! " << 100*efficiency << "% found, but at least: " << 100*m_eff_warn_threshold << "% expected"); - } - - return StatusCode::SUCCESS; -} - - -#endif diff --git a/Generators/EvgenProdTools/src/CopyEventWeight.cxx b/Generators/EvgenProdTools/src/CopyEventWeight.cxx index 602b420b4687e4e658bee687ae26cab69f04a7c8..ca30cf2137f6fa0b411119f9e5b7f38eaf9fa3f2 100644 --- a/Generators/EvgenProdTools/src/CopyEventWeight.cxx +++ b/Generators/EvgenProdTools/src/CopyEventWeight.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #include "EvgenProdTools/CopyEventWeight.h" diff --git a/Generators/EvgenProdTools/src/CountHepMC.cxx b/Generators/EvgenProdTools/src/CountHepMC.cxx index b6fe8d850d7091e156d0ec4f41270c1c524d9006..bf949f64c5f3f78891b4bb7ff2c12cebc8465e5f 100644 --- a/Generators/EvgenProdTools/src/CountHepMC.cxx +++ b/Generators/EvgenProdTools/src/CountHepMC.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #include "EvgenProdTools/CountHepMC.h" diff --git a/Generators/EvgenProdTools/src/EvgenOTFTopUpSvc.cxx b/Generators/EvgenProdTools/src/EvgenOTFTopUpSvc.cxx index 30078c80985b5607ccffde3b768cda2591fc459a..6d742c45fe8a69f3045bf8c35347c91e6aff6b30 100644 --- a/Generators/EvgenProdTools/src/EvgenOTFTopUpSvc.cxx +++ b/Generators/EvgenProdTools/src/EvgenOTFTopUpSvc.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #include "EvgenProdTools/EvgenOTFTopUpSvc.h" @@ -32,4 +36,4 @@ StatusCode EvgenOTFTopUpSvc::queryInterface(const InterfaceID& riid, void** ppvI return StatusCode::SUCCESS; } -#endif \ No newline at end of file +#endif diff --git a/Generators/EvgenProdTools/src/FixHepMC.cxx b/Generators/EvgenProdTools/src/FixHepMC.cxx index 0c89f25da86366457b0592f529792067943ef38b..0e0d2a48b3f645f601daa04e1aa164d7d831a297 100644 --- a/Generators/EvgenProdTools/src/FixHepMC.cxx +++ b/Generators/EvgenProdTools/src/FixHepMC.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #include "EvgenProdTools/FixHepMC.h" @@ -155,4 +159,4 @@ bool FixHepMC::isLoop(const HepMC::GenParticle* p) { //@} -#endif \ No newline at end of file +#endif diff --git a/Generators/EvgenProdTools/src/SimTimeEstimate.cxx b/Generators/EvgenProdTools/src/SimTimeEstimate.cxx index b99cf13a9332b0af5231543d62a2b73777ebdcfb..09553d0f9078f91839520cbed5cdc03f8f823df4 100644 --- a/Generators/EvgenProdTools/src/SimTimeEstimate.cxx +++ b/Generators/EvgenProdTools/src/SimTimeEstimate.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #include "EvgenProdTools/SimTimeEstimate.h" #include "HepMC/GenEvent.h" diff --git a/Generators/EvgenProdTools/src/TestHepMC.cxx b/Generators/EvgenProdTools/src/TestHepMC.cxx index b3601eebba47e4aed10adda29b6c639ec00cc43d..569c8fae8c583fc45ed7285486ed3c1e043d7eac 100644 --- a/Generators/EvgenProdTools/src/TestHepMC.cxx +++ b/Generators/EvgenProdTools/src/TestHepMC.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef XAOD_ANALYSIS #include "EvgenProdTools/TestHepMC.h" diff --git a/Generators/EvgenProdTools/src/components/.svn/entries b/Generators/EvgenProdTools/src/components/.svn/entries deleted file mode 100644 index dd43ab0e893ad3a53f9c4f73f4fb57061198cd20..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/components/.svn/entries +++ /dev/null @@ -1,96 +0,0 @@ -10 - -dir -810106 -svn+ssh://svn.cern.ch/reps/atlasoff/Generators/EvgenProdTools/trunk/src/components -svn+ssh://svn.cern.ch/reps/atlasoff - - - -2016-05-30T13:47:57.933768Z -750765 -ewelina - - - - - - - - - - - - - - -4525493e-7705-40b1-a816-d608a930855b - -EvgenProdTools_entries.cxx -file - - - - -2017-09-08T09:59:21.000000Z -5e9b81a252922e61ce02f55c46c9b90b -2016-05-30T13:47:57.933768Z -750765 -ewelina -has-props - - - - - - - - - - - - - - - - - - - - -864 - -EvgenProdTools_load.cxx -file - - - - -2017-09-08T09:59:21.000000Z -36822831ae2bb0bc5f421ec0956fe37f -2013-09-04T15:47:40.307324Z -560413 -zmarshal -has-props - - - - - - - - - - - - - - - - - - - - -82 - diff --git a/Generators/EvgenProdTools/src/components/.svn/prop-base/EvgenProdTools_entries.cxx.svn-base b/Generators/EvgenProdTools/src/components/.svn/prop-base/EvgenProdTools_entries.cxx.svn-base deleted file mode 100644 index bdca12dd5c258107f3caa6a336c53110915cca99..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/components/.svn/prop-base/EvgenProdTools_entries.cxx.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 12 -snv:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/src/components/.svn/prop-base/EvgenProdTools_load.cxx.svn-base b/Generators/EvgenProdTools/src/components/.svn/prop-base/EvgenProdTools_load.cxx.svn-base deleted file mode 100644 index bdca12dd5c258107f3caa6a336c53110915cca99..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/components/.svn/prop-base/EvgenProdTools_load.cxx.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 12 -snv:keywords -V 31 -Date Revision Author HeadURL Id -END diff --git a/Generators/EvgenProdTools/src/components/.svn/text-base/EvgenProdTools_entries.cxx.svn-base b/Generators/EvgenProdTools/src/components/.svn/text-base/EvgenProdTools_entries.cxx.svn-base deleted file mode 100644 index 826b3db57223b419500db22de687855cbc41be02..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/components/.svn/text-base/EvgenProdTools_entries.cxx.svn-base +++ /dev/null @@ -1,28 +0,0 @@ -#include "GaudiKernel/DeclareFactoryEntries.h" - -#include "EvgenProdTools/CopyEventWeight.h" -#include "EvgenProdTools/CountHepMC.h" -#include "EvgenProdTools/FixHepMC.h" -#include "EvgenProdTools/TestHepMC.h" -#include "EvgenProdTools/EvgenOTFTopUpSvc.h" -#include "EvgenProdTools/SimTimeEstimate.h" - -DECLARE_ALGORITHM_FACTORY(CopyEventWeight) -DECLARE_ALGORITHM_FACTORY(CountHepMC) -DECLARE_ALGORITHM_FACTORY(FixHepMC) -DECLARE_ALGORITHM_FACTORY(TestHepMC) -DECLARE_SERVICE_FACTORY(EvgenOTFTopUpSvc) -DECLARE_ALGORITHM_FACTORY(SimTimeEstimate) - - - -DECLARE_FACTORY_ENTRIES( EvgenProdTools ) { - DECLARE_ALGORITHM( ExpressionGenFilter ) - DECLARE_ALGORITHM(CopyEventWeight) - DECLARE_ALGORITHM(CountHepMC) - DECLARE_ALGORITHM(FixHepMC) - DECLARE_ALGORITHM(TestHepMC) - DECLARE_SERVICE(EvgenOTFTopUpSvc) - DECLARE_SERVICE(HepMCWeightSvc) - DECLARE_ALGORITHM(SimTimeEstimate) -} diff --git a/Generators/EvgenProdTools/src/components/.svn/text-base/EvgenProdTools_load.cxx.svn-base b/Generators/EvgenProdTools/src/components/.svn/text-base/EvgenProdTools_load.cxx.svn-base deleted file mode 100644 index 294080418112d7f2251aa09a756921ee95b01d19..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/src/components/.svn/text-base/EvgenProdTools_load.cxx.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -#include "GaudiKernel/LoadFactoryEntries.h" - -LOAD_FACTORY_ENTRIES(EvgenProdTools) diff --git a/Generators/EvgenProdTools/src/components/EvgenProdTools_entries.cxx b/Generators/EvgenProdTools/src/components/EvgenProdTools_entries.cxx index 826b3db57223b419500db22de687855cbc41be02..a8c317a2f62f7ff60ae93ec67fad7ca3f0c64cf2 100644 --- a/Generators/EvgenProdTools/src/components/EvgenProdTools_entries.cxx +++ b/Generators/EvgenProdTools/src/components/EvgenProdTools_entries.cxx @@ -1,3 +1,6 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ #include "GaudiKernel/DeclareFactoryEntries.h" #include "EvgenProdTools/CopyEventWeight.h" diff --git a/Generators/EvgenProdTools/src/components/EvgenProdTools_load.cxx b/Generators/EvgenProdTools/src/components/EvgenProdTools_load.cxx index 294080418112d7f2251aa09a756921ee95b01d19..89d04ed1759732c8a29ac6a79aed695a7daaf949 100644 --- a/Generators/EvgenProdTools/src/components/EvgenProdTools_load.cxx +++ b/Generators/EvgenProdTools/src/components/EvgenProdTools_load.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #include "GaudiKernel/LoadFactoryEntries.h" LOAD_FACTORY_ENTRIES(EvgenProdTools) diff --git a/Generators/FlowAfterburner/FlowAfterburner/AddFlowByShifting.h b/Generators/FlowAfterburner/FlowAfterburner/AddFlowByShifting.h index 42f2c4be5db66702e1d50cf0e61e5a988e93aeb0..de82b91703bc2ab012b33f7d87e145c9311020fc 100644 --- a/Generators/FlowAfterburner/FlowAfterburner/AddFlowByShifting.h +++ b/Generators/FlowAfterburner/FlowAfterburner/AddFlowByShifting.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + // File: Generators/FlowAfterburnber/AddFlowByShifting.h // Description: // This code is used to introduce particle flow diff --git a/Generators/FlowAfterburner/FlowAfterburner/CheckFlow_New_Minbias.h b/Generators/FlowAfterburner/FlowAfterburner/CheckFlow_New_Minbias.h index 3e62b0c67edbe15bb72826f3dce8f3b66288a5d9..77ea9cbe5bf68d34afe269cd679e1929243ba2a6 100644 --- a/Generators/FlowAfterburner/FlowAfterburner/CheckFlow_New_Minbias.h +++ b/Generators/FlowAfterburner/FlowAfterburner/CheckFlow_New_Minbias.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + // File: Generators/FlowAfterburnber/CheckFlow.h // Description: // This is a simple algorithm to histogram particle properties diff --git a/Generators/FlowAfterburner/src/AddFlowByShifting.cxx b/Generators/FlowAfterburner/src/AddFlowByShifting.cxx index 4a908e2476da5a828753488ae7839d9128673de8..a9b63540b76cc85b2e042bcd972b3888c6f6d401 100644 --- a/Generators/FlowAfterburner/src/AddFlowByShifting.cxx +++ b/Generators/FlowAfterburner/src/AddFlowByShifting.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + // File: Generators/FlowAfterburnber/AddFlowByShifting.cxx // Description: // This code is used to introduce particle flow diff --git a/Generators/FlowAfterburner/src/CheckFlow_New_Minbias.cxx b/Generators/FlowAfterburner/src/CheckFlow_New_Minbias.cxx index 3a0d859f1dd9782bdf25ee8f11d128188a3fa53e..702f423c560dfb2a08e5476aa2568b58c327e62a 100644 --- a/Generators/FlowAfterburner/src/CheckFlow_New_Minbias.cxx +++ b/Generators/FlowAfterburner/src/CheckFlow_New_Minbias.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + // File: Generators/FlowAfterburnber/CheckFlow_New_Minbias.h // Description: // This is a simple algorithm to histogram particle properties diff --git a/Generators/Sherpa_i/Sherpa_i/Sherpa_i.h b/Generators/Sherpa_i/Sherpa_i/Sherpa_i.h index 5cc18fc43129cdfb70817a196af23c6efbcdc39e..d74c55bdf80e5589c1aff417d134a31d1ca12f68 100755 --- a/Generators/Sherpa_i/Sherpa_i/Sherpa_i.h +++ b/Generators/Sherpa_i/Sherpa_i/Sherpa_i.h @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #ifndef SHERPA_I_SHERPA_I_H #define SHERPA_I_SHERPA_I_H diff --git a/Generators/Sherpa_i/src/Sherpa_i.cxx b/Generators/Sherpa_i/src/Sherpa_i.cxx index bd5997d609e7f4f4f3a9e40ed36fdff4141cc9e3..0ed453d9be0f58ab734e3269cc9029416057a69d 100755 --- a/Generators/Sherpa_i/src/Sherpa_i.cxx +++ b/Generators/Sherpa_i/src/Sherpa_i.cxx @@ -1,3 +1,7 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + #include "HepMC/GenEvent.h" #include "GaudiKernel/MsgStream.h" #include "AthenaBaseComps/AthMsgStreamMacros.h"