From 4e943414ff78e1ba5f9e77273293abadca35e937 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 8 Apr 2021 22:41:29 +0200 Subject: [PATCH] Compare DDD against DD4Hep scenario for 2026D76 scenario --- .../cms-test-ddhgcalWafer8-algorithm.xml | 33 ++++ .../HGCalCommonData/plugins/DDHGCalCell.cc | 24 +-- .../plugins/DDHGCalEEFileAlgo.cc | 10 +- .../plugins/DDHGCalHEFileAlgo.cc | 5 +- .../HGCalCommonData/plugins/DDHGCalWafer8.cc | 29 ++-- .../plugins/dd4hep/DDHGCalCell.cc | 18 +-- .../plugins/dd4hep/DDHGCalHEFileAlgo.cc | 18 +-- .../python/testHGCalWafer8XML_cfi.py | 9 +- Geometry/HGCalCommonData/test/cms.xml | 4 + .../test/python/runHGCalD76DD4Hep_cfg.py | 151 ++++++++++++++++++ .../test/python/runHGCalD76DDD_cfg.py | 150 +++++++++++++++++ .../test/python/runHGCalWafer8DD4Hep_cfg.py | 133 +++++++++++++++ .../test/python/runHGCalWafer8DDD_cfg.py | 118 ++++++++++++++ 13 files changed, 625 insertions(+), 77 deletions(-) create mode 100644 Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalWafer8-algorithm.xml create mode 100644 Geometry/HGCalCommonData/test/python/runHGCalD76DD4Hep_cfg.py create mode 100644 Geometry/HGCalCommonData/test/python/runHGCalD76DDD_cfg.py create mode 100644 Geometry/HGCalCommonData/test/python/runHGCalWafer8DD4Hep_cfg.py create mode 100644 Geometry/HGCalCommonData/test/python/runHGCalWafer8DDD_cfg.py diff --git a/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalWafer8-algorithm.xml b/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalWafer8-algorithm.xml new file mode 100644 index 0000000000000..a2b99a7472e44 --- /dev/null +++ b/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalWafer8-algorithm.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalCell.cc b/Geometry/HGCalCommonData/plugins/DDHGCalCell.cc index 38e01eaa6c426..8599981d66eaa 100644 --- a/Geometry/HGCalCommonData/plugins/DDHGCalCell.cc +++ b/Geometry/HGCalCommonData/plugins/DDHGCalCell.cc @@ -18,8 +18,7 @@ class DDHGCalCell : public DDAlgorithm { public: // Constructor and Destructor - DDHGCalCell(); - ~DDHGCalCell() override; + DDHGCalCell() {} void initialize(const DDNumericArguments& nArgs, const DDVectorArguments& vArgs, @@ -42,14 +41,6 @@ class DDHGCalCell : public DDAlgorithm { std::string nameSpace_; // Namespace to be used }; -DDHGCalCell::DDHGCalCell() { -#ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Creating an instance"; -#endif -} - -DDHGCalCell::~DDHGCalCell() {} - void DDHGCalCell::initialize(const DDNumericArguments& nArgs, const DDVectorArguments&, const DDMapArguments&, @@ -84,7 +75,7 @@ void DDHGCalCell::initialize(const DDNumericArguments& nArgs, #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Wafer r " << waferSize_ << " T " << waferT_ << " Cell T " << cellT_ << " Cells/Wafer " << nCells_ << " Material " << material_ << "Sensitive Position " - << posSens_ << " NameSpace " << nameSpace_ << " Full Cell: " << fullCN_ << ":" + << posSens_ << " NameSpace " << nameSpace_ << ": Full Cell: " << fullCN_ << ":" << fullSensN_; for (unsigned int k = 0; k < truncCN_.size(); ++k) edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Truncated Cell[" << k << "] " << truncCN_[k] << ":" @@ -97,14 +88,11 @@ void DDHGCalCell::initialize(const DDNumericArguments& nArgs, } void DDHGCalCell::execute(DDCompactView& cpv) { -#ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "==>> Executing DDHGCalCell..."; -#endif DDName matName(DDSplit(material_).first, DDSplit(material_).second); DDMaterial matter(matName); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << matName << " initialized at " << &matter; + edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << matName << " initialized"; #endif DDLogicalPart glog1, glog2; @@ -187,7 +175,7 @@ void DDHGCalCell::execute(DDCompactView& cpv) { cpv.position(glog2, glog1, 1, tran, rot); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << glog2.name() << " number 1 position in " << glog1.name() - << " at " << tran << " with " << rot; + << " at " << tran << " with no rotation"; #endif } @@ -222,7 +210,7 @@ void DDHGCalCell::execute(DDCompactView& cpv) { cpv.position(glog2, glog1, 1, tran, rot); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << glog2.name() << " number 1 position in " << glog1.name() - << " at " << tran << " with " << rot; + << " at " << tran << " with no rotation"; #endif } @@ -257,7 +245,7 @@ void DDHGCalCell::execute(DDCompactView& cpv) { cpv.position(glog2, glog1, 1, tran, rot); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << glog2.name() << " number 1 position in " << glog1.name() - << " at " << tran << " with " << rot; + << " at " << tran << " with no rotation"; #endif } } diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalEEFileAlgo.cc b/Geometry/HGCalCommonData/plugins/DDHGCalEEFileAlgo.cc index 3c1472fab82f5..ee8ac7be96728 100644 --- a/Geometry/HGCalCommonData/plugins/DDHGCalEEFileAlgo.cc +++ b/Geometry/HGCalCommonData/plugins/DDHGCalEEFileAlgo.cc @@ -194,7 +194,7 @@ void DDHGCalEEFileAlgo::initialize(const DDNumericArguments& nArgs, #endif nameSpace_ = DDCurrentNamespace::ns(); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: NameSpace " << nameSpace_; + edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: NameSpace " << nameSpace_ << ":"; #endif } @@ -220,9 +220,6 @@ void DDHGCalEEFileAlgo::execute(DDCompactView& cpv) { } void DDHGCalEEFileAlgo::constructLayers(const DDLogicalPart& module, DDCompactView& cpv) { -#ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: \t\tInside Layers"; -#endif double zi(zMinBlock_); int laymin(0); for (unsigned int i = 0; i < layers_.size(); i++) { @@ -289,10 +286,7 @@ void DDHGCalEEFileAlgo::constructLayers(const DDLogicalPart& module, DDCompactVi DDSolid solid = DDSolidFactory::tubs(DDName(name, nameSpace_), hthick, rins, routs, 0.0, 2._pi); glog = DDLogicalPart(solid.ddname(), matter, solid); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << solid.name() << " Tubs made of " << matName << ":" - << &matter << " of dimensions " << rinB << ":" << rins << ", " << routF << ":" - << routs << ", " << hthick << ", 0.0, 360.0 and position " << glog.name() - << " number " << copy << ":" << layerCenter_[copy - firstLayer_]; + edm::LogVerbatim("HGCalGeom") << "DDHGCalEEFileAlgo: " << solid.name() << " Tubs made of " << matName << " of dimensions " << rinB << ":" << rins << ", " << routF << ":" << routs << ", " << hthick << ", 0.0, 360.0 and position " << glog.name() << " number " << copy << ":" << layerCenter_[copy - firstLayer_]; #endif positionSensitive(glog, rins, routs, zz, layerSense_[ly], (copy - firstLayer_), cpv); } diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalHEFileAlgo.cc b/Geometry/HGCalCommonData/plugins/DDHGCalHEFileAlgo.cc index 79855c0748031..ce58f61ab1a03 100644 --- a/Geometry/HGCalCommonData/plugins/DDHGCalHEFileAlgo.cc +++ b/Geometry/HGCalCommonData/plugins/DDHGCalHEFileAlgo.cc @@ -248,7 +248,7 @@ void DDHGCalHEFileAlgo::initialize(const DDNumericArguments& nArgs, #endif nameSpace_ = DDCurrentNamespace::ns(); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalHEFileAlgo: NameSpace " << nameSpace_; + edm::LogVerbatim("HGCalGeom") << "DDHGCalHEFileAlgo: NameSpace " << nameSpace_ << ":"; #endif } @@ -274,9 +274,6 @@ void DDHGCalHEFileAlgo::execute(DDCompactView& cpv) { } void DDHGCalHEFileAlgo::constructLayers(const DDLogicalPart& module, DDCompactView& cpv) { -#ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalHEFileAlgo: \t\tInside Layers"; -#endif double zi(zMinBlock_); int laymin(0); for (unsigned int i = 0; i < layers_.size(); i++) { diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalWafer8.cc b/Geometry/HGCalCommonData/plugins/DDHGCalWafer8.cc index 3e548f5c551b9..0a0305cadcd97 100644 --- a/Geometry/HGCalCommonData/plugins/DDHGCalWafer8.cc +++ b/Geometry/HGCalCommonData/plugins/DDHGCalWafer8.cc @@ -19,8 +19,7 @@ class DDHGCalWafer8 : public DDAlgorithm { public: // Constructor and Destructor - DDHGCalWafer8(); - ~DDHGCalWafer8() override; + DDHGCalWafer8() {} void initialize(const DDNumericArguments& nArgs, const DDVectorArguments& vArgs, @@ -33,7 +32,6 @@ class DDHGCalWafer8 : public DDAlgorithm { double waferSize_; // Wafer size double waferT_; // Wafer thickness double waferSepar_; // Sensor separation - double mouseBite_; // MouseBite radius int nCells_; // Half number of cells along u-v axis int cellType_; // Cell Type (0,1,2: Fine, Course 2/3) std::string material_; // Material name for module with gap @@ -41,14 +39,6 @@ class DDHGCalWafer8 : public DDAlgorithm { std::string nameSpace_; // Namespace to be used }; -DDHGCalWafer8::DDHGCalWafer8() { -#ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalWafer8: Creating an instance"; -#endif -} - -DDHGCalWafer8::~DDHGCalWafer8() {} - void DDHGCalWafer8::initialize(const DDNumericArguments& nArgs, const DDVectorArguments&, const DDMapArguments&, @@ -57,27 +47,19 @@ void DDHGCalWafer8::initialize(const DDNumericArguments& nArgs, waferSize_ = nArgs["WaferSize"]; waferT_ = nArgs["WaferThick"]; waferSepar_ = nArgs["SensorSeparation"]; - mouseBite_ = nArgs["MouseBite"]; nCells_ = (int)(nArgs["NCells"]); cellType_ = (int)(nArgs["CellType"]); material_ = sArgs["Material"]; cellNames_ = vsArgs["CellNames"]; nameSpace_ = DDCurrentNamespace::ns(); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalWafer8: Wafer 2r " << waferSize_ << " T " << waferT_ << " Half Separation " - << waferSepar_ << " Mouse bite radius " << mouseBite_ << " Cells/Wafer " << nCells_ - << " Cell Type " << cellType_ << " Material " << material_ << " Names " - << parent().name() << " NameSpace " << nameSpace_ << " # of cells " - << cellNames_.size(); + edm::LogVerbatim("HGCalGeom") << "DDHGCalWafer8: Wafer 2r " << waferSize_ << " T " << waferT_ << " Half Separation " << waferSepar_ << " Cells/Wafer " << nCells_ << " Cell Type " << cellType_ << " Material " << material_ << " Names " << parent().name() << " NameSpace " << nameSpace_ << ": # of cells " << cellNames_.size(); for (unsigned int k = 0; k < cellNames_.size(); ++k) edm::LogVerbatim("HGCalGeom") << "DDHGCalWafer8: Cell[" << k << "] " << cellNames_[k]; #endif } void DDHGCalWafer8::execute(DDCompactView& cpv) { -#ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "==>> Executing DDHGCalWafer8..."; -#endif static const double sqrt3 = std::sqrt(3.0); double rM = 0.5 * (waferSize_ + waferSepar_); @@ -102,12 +84,16 @@ void DDHGCalWafer8::execute(DDCompactView& cpv) { << " and " << xM.size() << " edges"; for (unsigned int k = 0; k < xM.size(); ++k) edm::LogVerbatim("HGCalGeom") << "[" << k << "] " << xM[k] << ":" << yM[k]; + int counter(0); #endif DDRotation rot; for (int u = 0; u < 2 * nCells_; ++u) { for (int v = 0; v < 2 * nCells_; ++v) { if (((v - u) < nCells_) && (u - v) <= nCells_) { +#ifdef EDM_ML_DEBUG + counter++; +#endif int n2 = nCells_ / 2; double yp = (u - 0.5 * v - n2) * 2 * r; double xp = (1.5 * (v - nCells_) + 1.0) * R; @@ -146,6 +132,9 @@ void DDHGCalWafer8::execute(DDCompactView& cpv) { } } } +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HGCalGeom") << "\nDDHGCalWafer8::Counter : " << counter << "\n===============================\n"; +#endif } DEFINE_EDM_PLUGIN(DDAlgorithmFactory, DDHGCalWafer8, "hgcal:DDHGCalWafer8"); diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalCell.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalCell.cc index 2a94abac48d61..77618309f4213 100644 --- a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalCell.cc +++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalCell.cc @@ -52,7 +52,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Wafer r " << cms::convert2mm(waferSize) << " T " << cms::convert2mm(waferT) << " Cell T " << cms::convert2mm(cellT) << " Cells/Wafer " - << nCells << " Material " << material << "Sensitive Position " << posSens + << nCells << " Material " << material << "Sensitive Position " << posSens << " NameSpace " << ns.name() << " Full Cell: " << fullCN << ":" << fullSensN; for (int k = 0; k < 3; ++k) edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Truncated Cell[" << k << "] " << truncCN[k] << ":" << truncSensN[k]; @@ -60,12 +60,11 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Extended Cell[" << k << "] " << extenCN[k] << ":" << extenSensN[k]; for (int k = 0; k < 6; ++k) edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Corner Cell[" << k << "] " << cornrCN[k] << ":" << cornrSensN[k]; - edm::LogVerbatim("HGCalGeom") << "Name space " << ns.name(); #endif dd4hep::Material matter = ns.material(material); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << material << " initialized at " << &matter; + edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << material << " initialized"; #endif dd4hep::Volume glog1, glog2; @@ -119,8 +118,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext edm::LogVerbatim("HGCalGeom") << "[" << k << "] " << cms::convert2mm(xw[k]) << ":" << cms::convert2mm(yw[k]); #endif - dd4hep::Rotation3D rotation; - glog1.placeVolume(glog2, 1, dd4hep::Transform3D(rotation, tran)); + glog1.placeVolume(glog2, 1, tran); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << glog2.name() << " number 1 position in " << glog1.name() << " at (0,0," << cms::convert2mm(zpos) << ") with no rotation"; @@ -162,7 +160,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext for (unsigned int k = 0; k < xw.size(); ++k) edm::LogVerbatim("HGCalGeom") << "[" << k << "] " << cms::convert2mm(xw[k]) << ":" << cms::convert2mm(yw[k]); #endif - glog1.placeVolume(glog2, 1, dd4hep::Transform3D(rotation, tran)); + glog1.placeVolume(glog2, 1, tran); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << glog2.name() << " number 1 position in " << glog1.name() << " at (0,0," << cms::convert2mm(zpos) << ") with no rotation"; @@ -203,10 +201,10 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext for (unsigned int k = 0; k < xw.size(); ++k) edm::LogVerbatim("HGCalGeom") << "[" << k << "] " << cms::convert2mm(xw[k]) << ":" << cms::convert2mm(yw[k]); #endif - glog1.placeVolume(glog2, 1, dd4hep::Transform3D(rotation, tran)); + glog1.placeVolume(glog2, 1, tran); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << glog2.name() << " number 1 position in " << glog1.name() - << " at (0,0," << cms::convert2mm(zpos) << " with no rotation"; + << " at (0,0," << cms::convert2mm(zpos) << ") with no rotation"; #endif } @@ -244,10 +242,10 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext for (unsigned int k = 0; k < xw.size(); ++k) edm::LogVerbatim("HGCalGeom") << "[" << k << "] " << cms::convert2mm(xw[k]) << ":" << cms::convert2mm(yw[k]); #endif - glog1.placeVolume(glog2, 1, dd4hep::Transform3D(rotation, tran)); + glog1.placeVolume(glog2, 1, tran); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: " << glog2.name() << " number 1 position in " << glog1.name() - << " at (0,0," << cms::convert2mm(zpos) << " with no rotation"; + << " at (0,0," << cms::convert2mm(zpos) << ") with no rotation"; #endif } return cms::s_executed; diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalHEFileAlgo.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalHEFileAlgo.cc index 7391cb5c74fbb..f421bf848cebe 100644 --- a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalHEFileAlgo.cc +++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalHEFileAlgo.cc @@ -483,10 +483,7 @@ struct HGCalHEFileAlgo { #ifdef EDM_ML_DEBUG int ium(0), ivm(0), iumAll(0), ivmAll(0), kount(0), ntot(0), nin(0); std::vector ntype(6, 0); - edm::LogVerbatim("HGCalGeom") << "DDHGCalHEFileAlgo: " << glog.name() << " rout " << cms::convert2mm(rout) << " N " - << N << " for maximum u, v Offset; Shift " << cms::convert2mm(xyoff.first) << ":" - << cms::convert2mm(xyoff.second) << " WaferSize " - << cms::convert2mm((waferSize_ + waferSepar_)); + edm::LogVerbatim("HGCalGeom") << "DDHGCalHEFileAlgo: " << glog.name() << " rin:rout " << cms::convert2mm(rin) << ":" << cms::convert2mm(rout) << " zpos " << cms::convert2mm(zpos) << " N " << N << " for maximum u, v Offset; Shift " << cms::convert2mm(xyoff.first) << ":" << cms::convert2mm(xyoff.second) << " WaferSize " << cms::convert2mm((waferSize_ + waferSepar_)); #endif for (int u = -N; u <= N; ++u) { for (int v = -N; v <= N; ++v) { @@ -506,10 +503,10 @@ struct HGCalHEFileAlgo { int type = HGCalWaferType::getType(indx, waferIndex_, waferProperty_); if (corner.first > 0 && type >= 0) { int copy = HGCalTypes::packTypeUV(type, u, v); + if (layertype > 1) + type += 3; #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << " DDHGCalHEFileAlgo: " << waferNames_[type] << " number " << copy << " type " - << type << " layer:u:v:indx " << (layer + firstLayer_) << ":" << u << ":" << v - << ":" << indx; + edm::LogVerbatim("HGCalGeom") << " DDHGCalHEFileAlgo: " << waferNames_[type] << " number " << copy << " type " << type << " layer:u:v:indx " << (layer + firstLayer_) << ":" << u << ":" << v << ":" << indx; if (iu > ium) ium = iu; if (iv > ivm) @@ -526,17 +523,12 @@ struct HGCalHEFileAlgo { ivmAll = iv; ++nin; #endif - dd4hep::Position tran(xpos, ypos, 0.0); - if (layertype > 1) - type += 3; glog.placeVolume(ns.volume(waferNames_[type]), copy, tran); - #ifdef EDM_ML_DEBUG ++ntype[type]; edm::LogVerbatim("HGCalGeom") - << "DDHGCalHEFileAlgo: " << glog.name() << " number " << copy << " positioned in " << glog.name() - << " at (" << cms::convert2mm(xpos) << ", " << cms::convert2mm(ypos) << ", 0) with no rotation"; + << "DDHGCalHEFileAlgo: " << waferNames_[type] << " number " << copy << " type " << layertype << ":" << type << " positioned in " << glog.name() << " at (" << cms::convert2mm(xpos) << ", " << cms::convert2mm(ypos) << ", 0) with no rotation"; #endif } } diff --git a/Geometry/HGCalCommonData/python/testHGCalWafer8XML_cfi.py b/Geometry/HGCalCommonData/python/testHGCalWafer8XML_cfi.py index fe896fd23877c..f326c1fcec214 100644 --- a/Geometry/HGCalCommonData/python/testHGCalWafer8XML_cfi.py +++ b/Geometry/HGCalCommonData/python/testHGCalWafer8XML_cfi.py @@ -1,14 +1,15 @@ import FWCore.ParameterSet.Config as cms XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", - geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml', + geomXMLFiles = cms.vstring( + 'Geometry/CMSCommonData/data/materials/2021/v1/materials.xml', 'Geometry/CMSCommonData/data/rotations.xml', 'Geometry/HGCalCommonData/test/cms.xml', 'Geometry/HGCalCommonData/data/hgcalwafer/v9/hgcal.xml', - 'Geometry/HGCalCommonData/data/hgcalwafer/v9/hgcalpos.xml', + 'Geometry/HGCalCommonData/data/hgcalcell/v9/hgcalcell.xml', 'Geometry/HGCalCommonData/data/hgcalwafer/v9/hgcalwafer.xml', - 'Geometry/HGCalCommonData/data/hgcalcell/v9/hgcalcell.xml'), - rootNodeName = cms.string('cms:OCMS') + 'Geometry/HGCalCommonData/data/hgcalwafer/v9/hgcalpos.xml'), + rootNodeName = cms.string('cms:OCMS') ) diff --git a/Geometry/HGCalCommonData/test/cms.xml b/Geometry/HGCalCommonData/test/cms.xml index b42537f44de7a..16cc2d0cd146a 100644 --- a/Geometry/HGCalCommonData/test/cms.xml +++ b/Geometry/HGCalCommonData/test/cms.xml @@ -15,6 +15,10 @@ + + + + diff --git a/Geometry/HGCalCommonData/test/python/runHGCalD76DD4Hep_cfg.py b/Geometry/HGCalCommonData/test/python/runHGCalD76DD4Hep_cfg.py new file mode 100644 index 0000000000000..9123193fd2a26 --- /dev/null +++ b/Geometry/HGCalCommonData/test/python/runHGCalD76DD4Hep_cfg.py @@ -0,0 +1,151 @@ +import FWCore.ParameterSet.Config as cms + +from Configuration.Eras.Era_Phase2C11I13M9_cff import Phase2C11I13M9 +from Configuration.ProcessModifiers.dd4hep_cff import dd4hep + +process = cms.Process('SIM',Phase2C11I13M9,dd4hep) + +# import of standard configurations +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('SimGeneral.MixingModule.mixNoPU_cfi') +process.load('Configuration.Geometry.GeometryDD4hepExtended2026D76Reco_cff') +process.load('Configuration.StandardSequences.MagneticField_cff') +process.load('Configuration.StandardSequences.Generator_cff') +process.load('IOMC.EventVertexGenerators.VtxSmearedHLLHC14TeV_cfi') +process.load('GeneratorInterface.Core.genFilterSummary_cff') +process.load('Configuration.StandardSequences.SimIdeal_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(10), + output = cms.optional.untracked.allowed(cms.int32,cms.PSet) +) + +# Input source +process.source = cms.Source("EmptySource") + +process.options = cms.untracked.PSet( + FailPath = cms.untracked.vstring(), + IgnoreCompletely = cms.untracked.vstring(), + Rethrow = cms.untracked.vstring(), + SkipEvent = cms.untracked.vstring(), + allowUnscheduled = cms.obsolete.untracked.bool, + canDeleteEarly = cms.untracked.vstring(), + deleteNonConsumedUnscheduledModules = cms.untracked.bool(True), + emptyRunLumiMode = cms.obsolete.untracked.string, + eventSetup = cms.untracked.PSet( + forceNumberOfConcurrentIOVs = cms.untracked.PSet( + allowAnyLabel_=cms.required.untracked.uint32 + ), + numberOfConcurrentIOVs = cms.untracked.uint32(1) + ), + fileMode = cms.untracked.string('FULLMERGE'), + forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False), + makeTriggerResults = cms.obsolete.untracked.bool, + numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1), + numberOfConcurrentRuns = cms.untracked.uint32(1), + numberOfStreams = cms.untracked.uint32(0), + numberOfThreads = cms.untracked.uint32(1), + printDependencies = cms.untracked.bool(False), + sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, + throwIfIllegalParameter = cms.untracked.bool(True), + wantSummary = cms.untracked.bool(False) +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + annotation = cms.untracked.string('TTbar_14TeV_TuneCP5_cfi nevts:10'), + name = cms.untracked.string('Applications'), + version = cms.untracked.string('$Revision: 1.19 $') +) + + +# Additional output definition + +# Other statements +process.genstepfilter.triggerConditions=cms.vstring("generation_step") +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '') + +process.generator = cms.EDFilter("Pythia8GeneratorFilter", + PythiaParameters = cms.PSet( + parameterSets = cms.vstring( + 'pythia8CommonSettings', + 'pythia8CP5Settings', + 'processParameters' + ), + processParameters = cms.vstring( + 'Top:gg2ttbar = on ', + 'Top:qqbar2ttbar = on ', + '6:m0 = 175 ' + ), + pythia8CP5Settings = cms.vstring( + 'Tune:pp 14', + 'Tune:ee 7', + 'MultipartonInteractions:ecmPow=0.03344', + 'MultipartonInteractions:bProfile=2', + 'MultipartonInteractions:pT0Ref=1.41', + 'MultipartonInteractions:coreRadius=0.7634', + 'MultipartonInteractions:coreFraction=0.63', + 'ColourReconnection:range=5.176', + 'SigmaTotal:zeroAXB=off', + 'SpaceShower:alphaSorder=2', + 'SpaceShower:alphaSvalue=0.118', + 'SigmaProcess:alphaSvalue=0.118', + 'SigmaProcess:alphaSorder=2', + 'MultipartonInteractions:alphaSvalue=0.118', + 'MultipartonInteractions:alphaSorder=2', + 'TimeShower:alphaSorder=2', + 'TimeShower:alphaSvalue=0.118', + 'SigmaTotal:mode = 0', + 'SigmaTotal:sigmaEl = 21.89', + 'SigmaTotal:sigmaTot = 100.309', + 'PDF:pSet=LHAPDF6:NNPDF31_nnlo_as_0118' + ), + pythia8CommonSettings = cms.vstring( + 'Tune:preferLHAPDF = 2', + 'Main:timesAllowErrors = 10000', + 'Check:epTolErr = 0.01', + 'Beams:setProductionScalesFromLHEF = off', + 'SLHA:minMassSM = 1000.', + 'ParticleDecays:limitTau0 = on', + 'ParticleDecays:tau0Max = 10', + 'ParticleDecays:allowPhotonRadiation = on' + ) + ), + comEnergy = cms.double(14000.0), + filterEfficiency = cms.untracked.double(1.0), + maxEventsToPrint = cms.untracked.int32(0), + pythiaHepMCVerbosity = cms.untracked.bool(False), + pythiaPylistVerbosity = cms.untracked.int32(0) +) + + +process.ProductionFilterSequence = cms.Sequence(process.generator) + +# Path and EndPath definitions +process.generation_step = cms.Path(process.pgen) +process.simulation_step = cms.Path(process.psim) +process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) +process.endjob_step = cms.EndPath(process.endOfProcess) + +# Schedule definition +process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.endjob_step) +from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask +associatePatAlgosToolsTask(process) +# filter all path with the production filter sequence +for path in process.paths: + getattr(process,path).insert(0, process.ProductionFilterSequence) + + + +# Customisation from command line + +# Add early deletion of temporary data products to reduce peak memory need +from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete +process = customiseEarlyDelete(process) +# End adding early deletion diff --git a/Geometry/HGCalCommonData/test/python/runHGCalD76DDD_cfg.py b/Geometry/HGCalCommonData/test/python/runHGCalD76DDD_cfg.py new file mode 100644 index 0000000000000..99280b4d6debd --- /dev/null +++ b/Geometry/HGCalCommonData/test/python/runHGCalD76DDD_cfg.py @@ -0,0 +1,150 @@ +import FWCore.ParameterSet.Config as cms + +from Configuration.Eras.Era_Phase2C11I13M9_cff import Phase2C11I13M9 + +process = cms.Process('SIM',Phase2C11I13M9) + +# import of standard configurations +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('SimGeneral.MixingModule.mixNoPU_cfi') +process.load('Configuration.Geometry.GeometryExtended2026D76Reco_cff') +process.load('Configuration.StandardSequences.MagneticField_cff') +process.load('Configuration.StandardSequences.Generator_cff') +process.load('IOMC.EventVertexGenerators.VtxSmearedHLLHC14TeV_cfi') +process.load('GeneratorInterface.Core.genFilterSummary_cff') +process.load('Configuration.StandardSequences.SimIdeal_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(10), + output = cms.optional.untracked.allowed(cms.int32,cms.PSet) +) + +# Input source +process.source = cms.Source("EmptySource") + +process.options = cms.untracked.PSet( + FailPath = cms.untracked.vstring(), + IgnoreCompletely = cms.untracked.vstring(), + Rethrow = cms.untracked.vstring(), + SkipEvent = cms.untracked.vstring(), + allowUnscheduled = cms.obsolete.untracked.bool, + canDeleteEarly = cms.untracked.vstring(), + deleteNonConsumedUnscheduledModules = cms.untracked.bool(True), + emptyRunLumiMode = cms.obsolete.untracked.string, + eventSetup = cms.untracked.PSet( + forceNumberOfConcurrentIOVs = cms.untracked.PSet( + allowAnyLabel_=cms.required.untracked.uint32 + ), + numberOfConcurrentIOVs = cms.untracked.uint32(1) + ), + fileMode = cms.untracked.string('FULLMERGE'), + forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False), + makeTriggerResults = cms.obsolete.untracked.bool, + numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1), + numberOfConcurrentRuns = cms.untracked.uint32(1), + numberOfStreams = cms.untracked.uint32(0), + numberOfThreads = cms.untracked.uint32(1), + printDependencies = cms.untracked.bool(False), + sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, + throwIfIllegalParameter = cms.untracked.bool(True), + wantSummary = cms.untracked.bool(False) +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + annotation = cms.untracked.string('TTbar_14TeV_TuneCP5_cfi nevts:10'), + name = cms.untracked.string('Applications'), + version = cms.untracked.string('$Revision: 1.19 $') +) + + +# Additional output definition + +# Other statements +process.genstepfilter.triggerConditions=cms.vstring("generation_step") +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '') + +process.generator = cms.EDFilter("Pythia8GeneratorFilter", + PythiaParameters = cms.PSet( + parameterSets = cms.vstring( + 'pythia8CommonSettings', + 'pythia8CP5Settings', + 'processParameters' + ), + processParameters = cms.vstring( + 'Top:gg2ttbar = on ', + 'Top:qqbar2ttbar = on ', + '6:m0 = 175 ' + ), + pythia8CP5Settings = cms.vstring( + 'Tune:pp 14', + 'Tune:ee 7', + 'MultipartonInteractions:ecmPow=0.03344', + 'MultipartonInteractions:bProfile=2', + 'MultipartonInteractions:pT0Ref=1.41', + 'MultipartonInteractions:coreRadius=0.7634', + 'MultipartonInteractions:coreFraction=0.63', + 'ColourReconnection:range=5.176', + 'SigmaTotal:zeroAXB=off', + 'SpaceShower:alphaSorder=2', + 'SpaceShower:alphaSvalue=0.118', + 'SigmaProcess:alphaSvalue=0.118', + 'SigmaProcess:alphaSorder=2', + 'MultipartonInteractions:alphaSvalue=0.118', + 'MultipartonInteractions:alphaSorder=2', + 'TimeShower:alphaSorder=2', + 'TimeShower:alphaSvalue=0.118', + 'SigmaTotal:mode = 0', + 'SigmaTotal:sigmaEl = 21.89', + 'SigmaTotal:sigmaTot = 100.309', + 'PDF:pSet=LHAPDF6:NNPDF31_nnlo_as_0118' + ), + pythia8CommonSettings = cms.vstring( + 'Tune:preferLHAPDF = 2', + 'Main:timesAllowErrors = 10000', + 'Check:epTolErr = 0.01', + 'Beams:setProductionScalesFromLHEF = off', + 'SLHA:minMassSM = 1000.', + 'ParticleDecays:limitTau0 = on', + 'ParticleDecays:tau0Max = 10', + 'ParticleDecays:allowPhotonRadiation = on' + ) + ), + comEnergy = cms.double(14000.0), + filterEfficiency = cms.untracked.double(1.0), + maxEventsToPrint = cms.untracked.int32(0), + pythiaHepMCVerbosity = cms.untracked.bool(False), + pythiaPylistVerbosity = cms.untracked.int32(0) +) + + +process.ProductionFilterSequence = cms.Sequence(process.generator) + +# Path and EndPath definitions +process.generation_step = cms.Path(process.pgen) +process.simulation_step = cms.Path(process.psim) +process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) +process.endjob_step = cms.EndPath(process.endOfProcess) + +# Schedule definition +process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.endjob_step) +from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask +associatePatAlgosToolsTask(process) +# filter all path with the production filter sequence +for path in process.paths: + getattr(process,path).insert(0, process.ProductionFilterSequence) + + + +# Customisation from command line + +# Add early deletion of temporary data products to reduce peak memory need +from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete +process = customiseEarlyDelete(process) +# End adding early deletion diff --git a/Geometry/HGCalCommonData/test/python/runHGCalWafer8DD4Hep_cfg.py b/Geometry/HGCalCommonData/test/python/runHGCalWafer8DD4Hep_cfg.py new file mode 100644 index 0000000000000..686bf572ba4b7 --- /dev/null +++ b/Geometry/HGCalCommonData/test/python/runHGCalWafer8DD4Hep_cfg.py @@ -0,0 +1,133 @@ +import FWCore.ParameterSet.Config as cms + +from Configuration.Eras.Era_Phase2C11_dd4hep_cff import Phase2C11_dd4hep + +process = cms.Process('SIM',Phase2C11_dd4hep) + +# import of standard configurations +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('SimGeneral.MixingModule.mixNoPU_cfi') +process.load('Configuration.StandardSequences.MagneticField_cff') +process.load('Configuration.StandardSequences.Generator_cff') +process.load('IOMC.EventVertexGenerators.VtxSmearedHLLHC14TeV_cfi') +process.load('GeneratorInterface.Core.genFilterSummary_cff') +process.load('Configuration.StandardSequences.SimIdeal_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer", + confGeomXMLFiles = cms.FileInPath('Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalwafer8-algorithm.xml'), + appendToDataLabel = cms.string('') + ) + +process.DDSpecParRegistryESProducer = cms.ESProducer("DDSpecParRegistryESProducer", + appendToDataLabel = cms.string('') +) + +process.DDVectorRegistryESProducer = cms.ESProducer("DDVectorRegistryESProducer", + appendToDataLabel = cms.string('')) + +process.DDCompactViewESProducer = cms.ESProducer("DDCompactViewESProducer", + appendToDataLabel = cms.string('') +) + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(2), + output = cms.optional.untracked.allowed(cms.int32,cms.PSet) +) + +if hasattr(process,'MessageLogger'): + process.MessageLogger.HGCalGeom=dict() + process.MessageLogger.G4cout=dict() + process.MessageLogger.G4cerr=dict() + +# Input source +process.source = cms.Source("EmptySource") + +process.options = cms.untracked.PSet( + FailPath = cms.untracked.vstring(), + IgnoreCompletely = cms.untracked.vstring(), + Rethrow = cms.untracked.vstring(), + SkipEvent = cms.untracked.vstring(), + allowUnscheduled = cms.obsolete.untracked.bool, + canDeleteEarly = cms.untracked.vstring(), + deleteNonConsumedUnscheduledModules = cms.untracked.bool(True), + emptyRunLumiMode = cms.obsolete.untracked.string, + eventSetup = cms.untracked.PSet( + forceNumberOfConcurrentIOVs = cms.untracked.PSet( + allowAnyLabel_=cms.required.untracked.uint32 + ), + numberOfConcurrentIOVs = cms.untracked.uint32(1) + ), + fileMode = cms.untracked.string('FULLMERGE'), + forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False), + makeTriggerResults = cms.obsolete.untracked.bool, + numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1), + numberOfConcurrentRuns = cms.untracked.uint32(1), + numberOfStreams = cms.untracked.uint32(0), + numberOfThreads = cms.untracked.uint32(1), + printDependencies = cms.untracked.bool(False), + sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, + throwIfIllegalParameter = cms.untracked.bool(True), + wantSummary = cms.untracked.bool(False) +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + annotation = cms.untracked.string('single pi E 1000'), + name = cms.untracked.string('Applications'), + version = cms.untracked.string('$Revision: 1.19 $') +) + +# Output definition + +# Additional output definition + +# Other statements +process.genstepfilter.triggerConditions=cms.vstring("generation_step") +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '') + +process.generator = cms.EDProducer("FlatRandomEGunProducer", + PGunParameters = cms.PSet( + PartID = cms.vint32(211), + MinEta = cms.double(1.48), + MaxEta = cms.double(3.01), + MinPhi = cms.double(-3.14159265359), + MaxPhi = cms.double(3.14159265359), + MinE = cms.double(999.99), + MaxE = cms.double(1000.01) + ), + Verbosity = cms.untracked.int32(0), ## set to 1 (or greater) for printouts + psethack = cms.string('single pi E 1000'), + AddAntiParticle = cms.bool(True), + firstRun = cms.untracked.uint32(1) +) + +process.ProductionFilterSequence = cms.Sequence(process.generator) + +# Path and EndPath definitions +process.generation_step = cms.Path(process.pgen) +process.simulation_step = cms.Path(process.psim) +process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) +process.endjob_step = cms.EndPath(process.endOfProcess) + +# Schedule definition +process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.endjob_step) +from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask +associatePatAlgosToolsTask(process) +# filter all path with the production filter sequence +for path in process.paths: + getattr(process,path).insert(0, process.ProductionFilterSequence) + + + +# Customisation from command line + +# Add early deletion of temporary data products to reduce peak memory need +from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete +process = customiseEarlyDelete(process) +# End adding early deletion diff --git a/Geometry/HGCalCommonData/test/python/runHGCalWafer8DDD_cfg.py b/Geometry/HGCalCommonData/test/python/runHGCalWafer8DDD_cfg.py new file mode 100644 index 0000000000000..95d92c52d6026 --- /dev/null +++ b/Geometry/HGCalCommonData/test/python/runHGCalWafer8DDD_cfg.py @@ -0,0 +1,118 @@ +import FWCore.ParameterSet.Config as cms + +from Configuration.Eras.Era_Phase2C11M9_cff import Phase2C11M9 + +process = cms.Process('SIM',Phase2C11M9) + +# import of standard configurations +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('SimGeneral.MixingModule.mixNoPU_cfi') +process.load('Geometry.HGCalCommonData.testHGCalWafer8XML_cfi') +process.load('Configuration.StandardSequences.MagneticField_cff') +process.load('Configuration.StandardSequences.Generator_cff') +process.load('IOMC.EventVertexGenerators.VtxSmearedHLLHC14TeV_cfi') +process.load('GeneratorInterface.Core.genFilterSummary_cff') +process.load('Configuration.StandardSequences.SimIdeal_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(2), + output = cms.optional.untracked.allowed(cms.int32,cms.PSet) +) + +if hasattr(process,'MessageLogger'): + process.MessageLogger.HGCalGeom=dict() + process.MessageLogger.G4cout=dict() + process.MessageLogger.G4cerr=dict() + +# Input source +process.source = cms.Source("EmptySource") + +process.options = cms.untracked.PSet( + FailPath = cms.untracked.vstring(), + IgnoreCompletely = cms.untracked.vstring(), + Rethrow = cms.untracked.vstring(), + SkipEvent = cms.untracked.vstring(), + allowUnscheduled = cms.obsolete.untracked.bool, + canDeleteEarly = cms.untracked.vstring(), + deleteNonConsumedUnscheduledModules = cms.untracked.bool(True), + emptyRunLumiMode = cms.obsolete.untracked.string, + eventSetup = cms.untracked.PSet( + forceNumberOfConcurrentIOVs = cms.untracked.PSet( + allowAnyLabel_=cms.required.untracked.uint32 + ), + numberOfConcurrentIOVs = cms.untracked.uint32(1) + ), + fileMode = cms.untracked.string('FULLMERGE'), + forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False), + makeTriggerResults = cms.obsolete.untracked.bool, + numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1), + numberOfConcurrentRuns = cms.untracked.uint32(1), + numberOfStreams = cms.untracked.uint32(0), + numberOfThreads = cms.untracked.uint32(1), + printDependencies = cms.untracked.bool(False), + sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, + throwIfIllegalParameter = cms.untracked.bool(True), + wantSummary = cms.untracked.bool(False) +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + annotation = cms.untracked.string('single pi E 1000'), + name = cms.untracked.string('Applications'), + version = cms.untracked.string('$Revision: 1.19 $') +) + +# Output definition + +# Additional output definition + +# Other statements +process.genstepfilter.triggerConditions=cms.vstring("generation_step") +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '') + +process.generator = cms.EDProducer("FlatRandomEGunProducer", + PGunParameters = cms.PSet( + PartID = cms.vint32(211), + MinEta = cms.double(1.48), + MaxEta = cms.double(3.01), + MinPhi = cms.double(-3.14159265359), + MaxPhi = cms.double(3.14159265359), + MinE = cms.double(999.99), + MaxE = cms.double(1000.01) + ), + Verbosity = cms.untracked.int32(0), ## set to 1 (or greater) for printouts + psethack = cms.string('single pi E 1000'), + AddAntiParticle = cms.bool(True), + firstRun = cms.untracked.uint32(1) +) + +process.ProductionFilterSequence = cms.Sequence(process.generator) + +# Path and EndPath definitions +process.generation_step = cms.Path(process.pgen) +process.simulation_step = cms.Path(process.psim) +process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) +process.endjob_step = cms.EndPath(process.endOfProcess) + +# Schedule definition +process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.endjob_step) +from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask +associatePatAlgosToolsTask(process) +# filter all path with the production filter sequence +for path in process.paths: + getattr(process,path).insert(0, process.ProductionFilterSequence) + + + +# Customisation from command line + +# Add early deletion of temporary data products to reduce peak memory need +from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete +process = customiseEarlyDelete(process) +# End adding early deletion