diff --git a/Detector/DetFCChhHCalTile/compact/FCChh_HCalBarrel_TileCal.xml b/Detector/DetFCChhHCalTile/compact/FCChh_HCalBarrel_TileCal.xml
index d91d461fb..5b2c920f2 100644
--- a/Detector/DetFCChhHCalTile/compact/FCChh_HCalBarrel_TileCal.xml
+++ b/Detector/DetFCChhHCalTile/compact/FCChh_HCalBarrel_TileCal.xml
@@ -15,7 +15,7 @@
-
+
@@ -50,14 +50,12 @@
-
-
-
- system:4,module:7,row:9,layer:5,tile:2,eta:1,phi:10
+
+ system:4,module:8,row:9,layer:5
-
- system:4,module:7,row:9,layer:5,tile:2,eta:9,phi:10
+
+ system:4,module:8,row:9,layer:5,eta:9,phi:10
diff --git a/Detector/DetFCChhHCalTile/compact/FCChh_HCalExtendedBarrel_TileCal.xml b/Detector/DetFCChhHCalTile/compact/FCChh_HCalExtendedBarrel_TileCal.xml
index 61e4ca647..b6b6e54d8 100644
--- a/Detector/DetFCChhHCalTile/compact/FCChh_HCalExtendedBarrel_TileCal.xml
+++ b/Detector/DetFCChhHCalTile/compact/FCChh_HCalExtendedBarrel_TileCal.xml
@@ -13,27 +13,27 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
@@ -51,14 +51,12 @@
-
-
-
- system:4,type:2,module:9,row:8,layer:4,tile:2,eta:1,phi:10
+
+ system:4,type:2,module:9,row:8,layer:4
-
+
- system:4,type:2,module:9,row:8,layer:4,tile:2,eta:10,phi:10
+ system:4,type:2,module:9,row:8,layer:4,eta:10,phi:10
diff --git a/Detector/DetFCChhHCalTile/compact/FCChh_HCalExtendedTileDefinition.xml b/Detector/DetFCChhHCalTile/compact/FCChh_HCalExtendedTileDefinition.xml
index afd91065d..8f3e02a42 100644
--- a/Detector/DetFCChhHCalTile/compact/FCChh_HCalExtendedTileDefinition.xml
+++ b/Detector/DetFCChhHCalTile/compact/FCChh_HCalExtendedTileDefinition.xml
@@ -1,67 +1,67 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
diff --git a/Detector/DetFCChhHCalTile/compact/FCChh_HCalTileDefinition.xml b/Detector/DetFCChhHCalTile/compact/FCChh_HCalTileDefinition.xml
index 2df064973..2d0501b63 100644
--- a/Detector/DetFCChhHCalTile/compact/FCChh_HCalTileDefinition.xml
+++ b/Detector/DetFCChhHCalTile/compact/FCChh_HCalTileDefinition.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/Detector/DetFCChhHCalTile/src/HCalBarrel_geo.cpp b/Detector/DetFCChhHCalTile/src/HCalBarrel_geo.cpp
index 0bd78408f..13c9a7831 100644
--- a/Detector/DetFCChhHCalTile/src/HCalBarrel_geo.cpp
+++ b/Detector/DetFCChhHCalTile/src/HCalBarrel_geo.cpp
@@ -193,7 +193,6 @@ static dd4hep::Ref_t createHCal(dd4hep::Detector& lcdd, xml_h xmlElement, dd4hep
lcdd.material(xComp.materialStr()));
tileVol.setSensitiveDetector(sensDet);
tiles.push_back(layerVolume.placeVolume(tileVol, offset));
- tiles.back().addPhysVolID("tile", idxActMod);
idxActMod++;
} else {
tiles.push_back(layerVolume.placeVolume(modCompVol, offset));
@@ -217,10 +216,10 @@ static dd4hep::Ref_t createHCal(dd4hep::Detector& lcdd, xml_h xmlElement, dd4hep
for (unsigned int idxZRow = 0; idxZRow < numSequencesZ; ++idxZRow) {
double zOffset = -dzDetector + dZEndPlate + space + (2 * idxZRow + 1) * (dzSequence * 0.5);
- lLog << MSG::DEBUG << "z offset of wedges = " << zOffset << std::endl;
+ lLog << MSG::DEBUG << "z offset of wedges = " << zOffset << endmsg;
if ((-dzDetector + zOffset) >= dzDetector) {
- lLog << MSG::WARNING << " WARNING!!!! Module position outside of detector envelope" << std::endl;
+ lLog << MSG::WARNING << " WARNING!!!! Module position outside of detector envelope" << endmsg;
}
dd4hep::Position wedgeOffset(0, zOffset, 0);
// Fill vector for DetElements
@@ -229,7 +228,8 @@ static dd4hep::Ref_t createHCal(dd4hep::Detector& lcdd, xml_h xmlElement, dd4hep
}
for (unsigned int idxPhi = 0; idxPhi < numSequencesPhi; ++idxPhi) {
- double phi = 0.5 * dphi + idxPhi * dphi; // 0.5*dphi for middle of module
+ double phi = -0.5 * dd4hep::pi - dphi * 0.5 -
+ idxPhi * dphi; // module placement starts at -pi
double yPosModule = (sensitiveBarrelRmin + dzModule) * cos(phi);
double xPosModule = (sensitiveBarrelRmin + dzModule) * sin(phi);
double yPosSupport = (sensitiveBarrelRmin + 2 * dzModule + dzSupport) * cos(phi);
@@ -239,20 +239,19 @@ static dd4hep::Ref_t createHCal(dd4hep::Detector& lcdd, xml_h xmlElement, dd4hep
dd4hep::Position supportOffset(xPosSupport, yPosSupport, 0);
dd4hep::Transform3D trans(dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), moduleOffset);
-
dd4hep::Transform3D transS(dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), supportOffset);
+
// Fill the vectors of DetElements
modules.push_back(envelopeVolume.placeVolume(moduleVolume, trans));
modules.back().addPhysVolID("module", idxPhi);
supports.push_back(envelopeVolume.placeVolume(steelSupportVolume, transS));
- // }
}
// Placement of DetElements
- lLog << MSG::DEBUG << "Modules in phi : " << modules.size() << std::endl;
- lLog << MSG::DEBUG << "Rows in z : " << rows.size() << std::endl;
- lLog << MSG::DEBUG << "Layers in r : " << layers.size() << std::endl;
- lLog << MSG::DEBUG << "Tiles in layers :" << tilesInLayers[1].size() << std::endl;
+ lLog << MSG::DEBUG << "Modules in phi : " << modules.size() << endmsg;
+ lLog << MSG::DEBUG << "Rows in z : " << rows.size() << endmsg;
+ lLog << MSG::DEBUG << "Layers in r : " << layers.size() << endmsg;
+ lLog << MSG::DEBUG << "Tiles in layers :" << tilesInLayers[1].size() << endmsg;
for (uint iPhi = 0; iPhi < numSequencesPhi; iPhi++) {
DetElement moduleDet(hCal, dd4hep::xml::_toString(iPhi, "module%d"), iPhi);
diff --git a/Detector/DetFCChhHCalTile/src/HCalExtBarrel_geo.cpp b/Detector/DetFCChhHCalTile/src/HCalExtBarrel_geo.cpp
index 46eda271d..a0032a36b 100644
--- a/Detector/DetFCChhHCalTile/src/HCalExtBarrel_geo.cpp
+++ b/Detector/DetFCChhHCalTile/src/HCalExtBarrel_geo.cpp
@@ -12,9 +12,8 @@ using dd4hep::xml::Dimension;
using dd4hep::PlacedVolume;
namespace det {
-void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector& aSensDet,
- dd4hep::Volume& aEnvelope, dd4hep::DetElement& aHCal,
- dd4hep::xml::Handle_t& aXmlElement, int sign) {
+void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector& aSensDet, dd4hep::Volume& aEnvelope,
+ dd4hep::DetElement& aHCal, dd4hep::xml::Handle_t& aXmlElement, int sign) {
dd4hep::SensitiveDetector sensDet = aSensDet;
Dimension sensDetType = aXmlElement.child(_Unicode(sensitive));
@@ -109,7 +108,7 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
// Add structural support made of steel inside of HCal
DetElement facePlate1(aHCal, "FacePlate_" + std::to_string(1 * sign), 0);
dd4hep::Tube facePlateShape1(dimensions.rmin1(), (sensitiveBarrel1Rmin - space),
- (dzDetector1 - 2 * dZEndPlate - space));
+ (dzDetector1 - 2 * dZEndPlate - space));
Volume facePlateVol1("facePlateVol1", facePlateShape1, aLcdd.material(xFacePlate.materialStr()));
facePlateVol1.setVisAttributes(aLcdd, xFacePlate.visStr());
dd4hep::Position offsetFace1(0, 0, sign * extBarrelOffset1);
@@ -117,7 +116,7 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
// Faceplate for 2nd part of extended Barrel
DetElement facePlate2(aHCal, "FacePlate_" + std::to_string(2 * sign), 0);
dd4hep::Tube facePlateShape2(dimensions.rmin2(), (sensitiveBarrel2Rmin - space),
- (dzDetector2 - 2 * dZEndPlate - space));
+ (dzDetector2 - 2 * dZEndPlate - space));
Volume facePlateVol2("facePlateVol2", facePlateShape2, aLcdd.material(xFacePlate.materialStr()));
facePlateVol2.setVisAttributes(aLcdd, xFacePlate.visStr());
dd4hep::Position offsetFace2(0, 0, sign * extBarrelOffset2);
@@ -191,9 +190,9 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
tilesInLayers.reserve(layerDepths1.size() + layerDepths2.size());
// First we construct base wedges:
- Volume WedgeVolume1("WedgeVolume1", dd4hep::Trapezoid(dx1Module1, dx2Module1, dy0, dy0, dzModule1),
+ Volume WedgeVolume1("WedgeVolumeEB", dd4hep::Trapezoid(dx1Module1, dx2Module1, dy0, dy0, dzModule1),
aLcdd.material("Air"));
- Volume WedgeVolume2("WedgeVolume2", dd4hep::Trapezoid(dx1Module2, dx2Module2, dy0, dy0, dzModule2),
+ Volume WedgeVolume2("WedgeVolumeEB", dd4hep::Trapezoid(dx1Module2, dx2Module2, dy0, dy0, dzModule2),
aLcdd.material("Air"));
double layerR = 0.;
// Placement of subWedges in Wedge
@@ -212,15 +211,15 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
layerR += layerDepths1.at(idxLayer);
- Volume layerVolume("layerVolume", dd4hep::Trapezoid(dx1, dx2, dy0, dy0, dz0), aLcdd.material("Air"));
- layerVolume.setVisAttributes(aLcdd.invisible());
+ Volume layerVolumeEB("layerVolumeEB", dd4hep::Trapezoid(dx1, dx2, dy0, dy0, dz0), aLcdd.material("Air"));
+ layerVolumeEB.setVisAttributes(aLcdd.invisible());
unsigned int idxSubMod = 0;
unsigned int idxActMod = 0;
double modCompZOffset = -sequenceDimensions.dz() * 0.5;
// layer middle offset
dd4hep::Position modOffset(0, 0, rMiddle);
- layers.push_back(WedgeVolume1.placeVolume(layerVolume, modOffset));
+ layers.push_back(WedgeVolume1.placeVolume(layerVolumeEB, modOffset));
layers.back().addPhysVolID("layer", idxLayer);
std::vector tiles;
@@ -229,21 +228,20 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
++xCompColl, ++idxSubMod) {
xml_comp_t xComp = xCompColl;
double dyComp = xComp.thickness() * 0.5;
- Volume modCompVol("modCompVolume", dd4hep::Trapezoid(dx1, dx2, dyComp, dyComp, dz0),
+ Volume modCompVol("modCompVolumeEB", dd4hep::Trapezoid(dx1, dx2, dyComp, dyComp, dz0),
aLcdd.material(xComp.materialStr()));
modCompVol.setVisAttributes(aLcdd, xComp.visStr());
dd4hep::Position offset(0, modCompZOffset + dyComp + xComp.y_offset() / 2, 0);
if (xComp.isSensitive()) {
- Volume tileVol("tileVolume", dd4hep::Trapezoid(dx1, dx2, dyComp, dyComp, dz0),
+ Volume tileVol("tileVolumeEB", dd4hep::Trapezoid(dx1, dx2, dyComp, dyComp, dz0),
aLcdd.material(xComp.materialStr()));
tileVol.setVisAttributes(aLcdd, xComp.visStr());
tileVol.setSensitiveDetector(sensDet);
- tiles.push_back(layerVolume.placeVolume(tileVol, offset));
- tiles.back().addPhysVolID("tile", idxActMod);
+ tiles.push_back(layerVolumeEB.placeVolume(tileVol, offset));
idxActMod++;
} else {
- tiles.push_back(layerVolume.placeVolume(modCompVol, offset));
+ tiles.push_back(layerVolumeEB.placeVolume(modCompVol, offset));
}
modCompZOffset += xComp.thickness() + xComp.y_offset();
}
@@ -268,15 +266,15 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
layerR += layerDepths2.at(idxLayer);
- Volume layerVolume("layerVolume", dd4hep::Trapezoid(dx1, dx2, dy0, dy0, dz0), aLcdd.material("Air"));
- layerVolume.setVisAttributes(aLcdd.invisible());
+ Volume layerVolumeEB("layerVolumeEB", dd4hep::Trapezoid(dx1, dx2, dy0, dy0, dz0), aLcdd.material("Air"));
+ layerVolumeEB.setVisAttributes(aLcdd.invisible());
unsigned int idxSubMod = 0;
unsigned int idxActMod = 0;
double modCompZOffset = -sequenceDimensions.dz() * 0.5;
// layer middle offset
dd4hep::Position modOffset(0, 0, rMiddle);
- layers.push_back(WedgeVolume2.placeVolume(layerVolume, modOffset));
+ layers.push_back(WedgeVolume2.placeVolume(layerVolumeEB, modOffset));
layers.back().addPhysVolID("layer", idxLayer);
std::vector tiles;
@@ -285,21 +283,20 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
++xCompColl, ++idxSubMod) {
xml_comp_t xComp = xCompColl;
double dyComp = xComp.thickness() * 0.5;
- Volume modCompVol("modCompVolume", dd4hep::Trapezoid(dx1, dx2, dyComp, dyComp, dz0),
+ Volume modCompVol("modCompVolumeEB", dd4hep::Trapezoid(dx1, dx2, dyComp, dyComp, dz0),
aLcdd.material(xComp.materialStr()));
modCompVol.setVisAttributes(aLcdd, xComp.visStr());
dd4hep::Position offset(0, modCompZOffset + dyComp + xComp.y_offset() / 2, 0);
if (xComp.isSensitive()) {
- Volume tileVol("tileVolume", dd4hep::Trapezoid(dx1, dx2, dyComp, dyComp, dz0),
+ Volume tileVol("tileVolumeEB", dd4hep::Trapezoid(dx1, dx2, dyComp, dyComp, dz0),
aLcdd.material(xComp.materialStr()));
tileVol.setVisAttributes(aLcdd, xComp.visStr());
tileVol.setSensitiveDetector(sensDet);
- tiles.push_back(layerVolume.placeVolume(tileVol, offset));
- tiles.back().addPhysVolID("tile", idxActMod);
+ tiles.push_back(layerVolumeEB.placeVolume(tileVol, offset));
idxActMod++;
} else {
- tiles.push_back(layerVolume.placeVolume(modCompVol, offset));
+ tiles.push_back(layerVolumeEB.placeVolume(modCompVol, offset));
}
modCompZOffset += xComp.thickness() + xComp.y_offset();
}
@@ -307,26 +304,24 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
tilesInLayers.push_back(tiles);
}
- Volume ModuleVolume1("ModuleVolume1",
+ Volume ModuleVolume1("ModuleVolumeEB",
dd4hep::Trapezoid(dx1Module1, dx2Module1, (dzDetector1 - 2 * dZEndPlate - space),
- (dzDetector1 - 2 * dZEndPlate - space), dzModule1),
+ (dzDetector1 - 2 * dZEndPlate - space), dzModule1),
aLcdd.material("Air"));
- Volume ModuleVolume2("ModuleVolume2",
+ Volume ModuleVolume2("ModuleVolumeEB",
dd4hep::Trapezoid(dx1Module2, dx2Module2, (dzDetector2 - 2 * dZEndPlate - space),
- (dzDetector2 - 2 * dZEndPlate - space), dzModule2),
+ (dzDetector2 - 2 * dZEndPlate - space), dzModule2),
aLcdd.material("Air"));
Volume SteelSupportVolume1("SteelSupportVolume1",
- dd4hep::Trapezoid(dx1Support1, dx2Support1,
- (dzDetector1 - 2 * dZEndPlate - space),
- (dzDetector1 - 2 * dZEndPlate - space), dzSupport),
+ dd4hep::Trapezoid(dx1Support1, dx2Support1, (dzDetector1 - 2 * dZEndPlate - space),
+ (dzDetector1 - 2 * dZEndPlate - space), dzSupport),
aLcdd.material(xSteelSupport.materialStr()));
Volume SteelSupportVolume2("SteelSupportVolume2",
- dd4hep::Trapezoid(dx1Support2, dx2Support2,
- (dzDetector2 - 2 * dZEndPlate - space),
- (dzDetector2 - 2 * dZEndPlate - space), dzSupport),
+ dd4hep::Trapezoid(dx1Support2, dx2Support2, (dzDetector2 - 2 * dZEndPlate - space),
+ (dzDetector2 - 2 * dZEndPlate - space), dzSupport),
aLcdd.material(xSteelSupport.materialStr()));
// Placement of rings
@@ -350,7 +345,7 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
}
for (unsigned int idxPhi = 0; idxPhi < numSequencesPhi; ++idxPhi) {
- double phi = 0.5 * dphi + idxPhi * dphi; // 0.5*dphi for middle of module
+ double phi = -dphi * 0.5 - idxPhi * dphi - 0.5 * dd4hep::pi; // module placement starts at -pi
double yPosModule1 = (sensitiveBarrel1Rmin + dzModule1) * cos(phi);
double xPosModule1 = (sensitiveBarrel1Rmin + dzModule1) * sin(phi);
double yPosSupport1 = (sensitiveBarrel1Rmin + 2 * dzModule1 + dzSupport) * cos(phi);
@@ -370,17 +365,13 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
dd4hep::Position supportOffset2(xPosSupport2, yPosSupport2, sign * extBarrelOffset2);
// Placement around central Barrel
- dd4hep::Transform3D trans1(
- dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), moduleOffset1);
+ dd4hep::Transform3D trans1(dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), moduleOffset1);
- dd4hep::Transform3D trans1S(
- dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), supportOffset1);
+ dd4hep::Transform3D trans1S(dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), supportOffset1);
- dd4hep::Transform3D trans2(
- dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), moduleOffset2);
+ dd4hep::Transform3D trans2(dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), moduleOffset2);
- dd4hep::Transform3D trans2S(
- dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), supportOffset2);
+ dd4hep::Transform3D trans2S(dd4hep::RotationX(-0.5 * dd4hep::pi) * dd4hep::RotationY(phi), supportOffset2);
// Fill the vectors of DetElements
modules1.push_back(aEnvelope.placeVolume(ModuleVolume1, trans1));
@@ -412,30 +403,30 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
support2.setPlacement(supports2[iPhi]);
for (uint iZ = 0; iZ < numSequencesZ1; iZ++) {
- DetElement wedgeDet(moduleDet1, dd4hep::xml::_toString(iZ, "row%d"), iZ);
- wedgeDet.setPlacement(rows[iZ]);
+ DetElement wedgeEBDet(moduleDet1, dd4hep::xml::_toString(iZ, "EBrow%d"), iZ);
+ wedgeEBDet.setPlacement(rows[iZ]);
for (uint iLayer = 0; iLayer < numSequencesR1; iLayer++) {
- DetElement layerDet(wedgeDet, dd4hep::xml::_toString(iLayer, "layer%d"), iLayer);
- layerDet.setPlacement(layers[iLayer]);
+ DetElement layerEBDet(wedgeEBDet, dd4hep::xml::_toString(iLayer, "EBlayer%d"), iLayer);
+ layerEBDet.setPlacement(layers[iLayer]);
for (uint iTile = 0; iTile < tilesInLayers[iLayer].size(); iTile++) {
- DetElement tileDet(layerDet, dd4hep::xml::_toString(iTile, "tile%d"), iTile);
- tileDet.setPlacement(tilesInLayers[iLayer][iTile]);
+ DetElement tileEBDet(layerEBDet, dd4hep::xml::_toString(iTile, "EBtile%d"), iTile);
+ tileEBDet.setPlacement(tilesInLayers[iLayer][iTile]);
}
}
}
for (uint iZ = numSequencesZ1; iZ < (numSequencesZ1 + numSequencesZ2); iZ++) {
- DetElement wedgeDet(moduleDet2, dd4hep::xml::_toString(iZ, "row%d"), iZ);
- wedgeDet.setPlacement(rows[iZ]);
+ DetElement wedgeEBDet(moduleDet2, dd4hep::xml::_toString(iZ, "EBrow%d"), iZ);
+ wedgeEBDet.setPlacement(rows[iZ]);
for (uint iLayer = numSequencesR1; iLayer < (numSequencesR1 + numSequencesR2); iLayer++) {
- DetElement layerDet(wedgeDet, dd4hep::xml::_toString(iLayer, "layer%d"), iLayer);
- layerDet.setPlacement(layers[iLayer]);
+ DetElement layerEBDet(wedgeEBDet, dd4hep::xml::_toString(iLayer, "EBlayer%d"), iLayer);
+ layerEBDet.setPlacement(layers[iLayer]);
for (uint iTile = 0; iTile < tilesInLayers[iLayer].size(); iTile++) {
- DetElement tileDet(layerDet, dd4hep::xml::_toString(iTile, "tile%d"), iTile);
- tileDet.setPlacement(tilesInLayers[iLayer][iTile]);
+ DetElement tileEBDet(layerEBDet, dd4hep::xml::_toString(iTile, "EBtile%d"), iTile);
+ tileEBDet.setPlacement(tilesInLayers[iLayer][iTile]);
}
}
}
@@ -443,8 +434,7 @@ void buildEB(MsgStream& lLog, dd4hep::Detector& aLcdd, dd4hep::SensitiveDetector
return;
}
-static dd4hep::Ref_t createHCalEB(dd4hep::Detector& lcdd, xml_h xmlElement,
- dd4hep::SensitiveDetector sensDet) {
+static dd4hep::Ref_t createHCalEB(dd4hep::Detector& lcdd, xml_h xmlElement, dd4hep::SensitiveDetector sensDet) {
// Get the Gaudi message service and message stream:
ServiceHandle msgSvc("MessageSvc", "ExtHCalConstruction");
diff --git a/Examples/CMakeLists.txt b/Examples/CMakeLists.txt
index f3feb3ffb..e8cbeda97 100644
--- a/Examples/CMakeLists.txt
+++ b/Examples/CMakeLists.txt
@@ -47,6 +47,9 @@ gaudi_add_test(ReadFullSimTrackerHits
gaudi_add_test(GeantFullSimParticleGun
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
FRAMEWORK options/geant_pgun_fullsim.py)
+gaudi_add_test(GeantFullSimMinBias
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+ FRAMEWORK options/min_bias_pool.py)
gaudi_add_test(GeantFastSimTrackerECalGFlash
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
FRAMEWORK options/geant_fastsim.py)
diff --git a/Examples/options/geant_pgun_fullsim.py b/Examples/options/geant_pgun_fullsim.py
index b1e746916..81306c094 100644
--- a/Examples/options/geant_pgun_fullsim.py
+++ b/Examples/options/geant_pgun_fullsim.py
@@ -69,9 +69,9 @@
savefwdtool = SimG4SaveCalHits("saveECalFwdHits", readoutNames = ["EMFwdPhiEta"])
savefwdtool.positionedCaloHits.Path = "ECalFwdPositionedHits"
savefwdtool.caloHits.Path = "ECalFwdHits"
-savehcaltool = SimG4SaveCalHits("saveHCalHits", readoutNames = ["BarHCal_Readout"])
-savehcaltool.positionedCaloHits.Path = "HCalPositionedHits"
-savehcaltool.caloHits.Path = "HCalHits"
+savehcaltool = SimG4SaveCalHits("saveHCalHits", readoutNames = ["HCalBarrelReadout"])
+savehcaltool.positionedCaloHits.Path = "HCalBarrelPositionedHits"
+savehcaltool.caloHits.Path = "HCalBarrelHits"
# next, create the G4 algorithm, giving the list of names of tools ("XX/YY")
particle_converter = SimG4PrimariesFromEdmTool("EdmConverter")
particle_converter.genParticles.Path = "allGenParticles"
@@ -91,5 +91,5 @@
EvtMax=1,
## order is important, as GeoSvc is needed by SimG4Svc
ExtSvc=[podioevent, geoservice, geantservice, ppservice],
- OutputLevel=DEBUG
+ OutputLevel=INFO
)
diff --git a/Examples/options/min_bias_pool.py b/Examples/options/min_bias_pool.py
index 0ff26e9ec..6b4174209 100644
--- a/Examples/options/min_bias_pool.py
+++ b/Examples/options/min_bias_pool.py
@@ -59,11 +59,11 @@
field = SimG4ConstantMagneticFieldTool("SimG4ConstantMagneticFieldTool", FieldOn=True, IntegratorStepper="ClassicalRK4")
from Configurables import SimG4Alg, SimG4SaveCalHits
-saveecaltool = SimG4SaveCalHits("saveECalHits",readoutNames = ["ECalHitsPhiEta"])
+saveecaltool = SimG4SaveCalHits("saveECalHits",readoutNames = ["ECalBarrelEta"])
saveecaltool.positionedCaloHits.Path = "ECalPositionedHits"
saveecaltool.caloHits.Path = "ECalHits"
-savehcaltool = SimG4SaveCalHits("saveHCalHits",readoutNames = ["BarHCal_Readout"])
+savehcaltool = SimG4SaveCalHits("saveHCalHits",readoutNames = ["HCalBarrelReadout"])
savehcaltool.positionedCaloHits.Path = "HCalPositionedHits"
savehcaltool.caloHits.Path = "HCalHits"
diff --git a/Reconstruction/RecCalorimeter/tests/options/geant_fullsim_hcal_singleparticles.py b/Reconstruction/RecCalorimeter/tests/options/geant_fullsim_hcal_singleparticles.py
index 2ff6f8aca..0a8f8c69f 100644
--- a/Reconstruction/RecCalorimeter/tests/options/geant_fullsim_hcal_singleparticles.py
+++ b/Reconstruction/RecCalorimeter/tests/options/geant_fullsim_hcal_singleparticles.py
@@ -39,7 +39,7 @@
# Translates EDM to G4Event, passes the event to G4, writes out outputs via tools
# and a tool that saves the calorimeter hits
from Configurables import SimG4Alg, SimG4SaveCalHits, InspectHitsCollectionsTool
-savehcaltool = SimG4SaveCalHits("saveHCalHits",readoutNames = ["BarHCal_Readout"])
+savehcaltool = SimG4SaveCalHits("saveHCalHits",readoutNames = ["HCalBarrelReadout"])
savehcaltool.positionedCaloHits.Path = "HCalPositionedHits"
savehcaltool.caloHits.Path = "HCalHits"
# Change INFO to DEBUG for printout of each deposit
diff --git a/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_ReconstructionSW_noNoise.py b/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_ReconstructionSW_noNoise.py
index 619b933c6..fd8087aa9 100644
--- a/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_ReconstructionSW_noNoise.py
+++ b/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_ReconstructionSW_noNoise.py
@@ -3,16 +3,18 @@
ecalBarrelCellsName = "ECalBarrelCells"
ecalEndcapCellsName = "ECalEndcapCells"
ecalFwdCellsName = "ECalFwdCells"
-hcalBarrelCellsName = "newHCalCells"
-hcalExtBarrelCellsName = "newExtHCalCells"
+hcalBarrelCellsName = "HCalBarrelCells"
+hcalExtBarrelCellsName = "HCalExtBarrelCells"
hcalEndcapCellsName = "HCalEndcapCells"
hcalFwdCellsName = "HCalFwdCells"
# Readouts
ecalBarrelReadoutName = "ECalBarrelPhiEta"
ecalEndcapReadoutName = "EMECPhiEta"
ecalFwdReadoutName = "EMFwdPhiEta"
-hcalBarrelReadoutName = "BarHCal_Readout_phieta"
-hcalExtBarrelReadoutName = "ExtBarHCal_Readout_phieta"
+hcalBarrelReadoutName = "HCalBarrelReadout"
+hcalExtBarrelReadoutName = "HCalExtBarrelReadout"
+hcalBarrelReadoutPhiEtaName = "BarHCal_Readout_phieta"
+hcalExtBarrelReadoutPhiEtaName = "ExtBarHCal_Readout_phieta"
hcalEndcapReadoutName = "HECPhiEta"
hcalFwdReadoutName = "HFwdPhiEta"
# Number of events
@@ -40,6 +42,41 @@
],
OutputLevel = INFO)
+# additionally for HCal
+from Configurables import CreateVolumeCaloPositions
+positionsHcal = CreateVolumeCaloPositions("positionsHcal", OutputLevel = INFO)
+positionsHcal.hits.Path = hcalBarrelCellsName
+positionsHcal.positionedHits.Path = "HCalBarrelPositions"
+
+from Configurables import RedoSegmentation
+resegmentHcal = RedoSegmentation("ReSegmentationHcal",
+ # old bitfield (readout)
+ oldReadoutName = hcalBarrelReadoutName,
+ # # specify which fields are going to be altered (deleted/rewritten)
+ # oldSegmentationIds = ["eta","phi"],
+ # new bitfield (readout), with new segmentation
+ newReadoutName = hcalBarrelReadoutPhiEtaName,
+ debugPrint = 10,
+ OutputLevel = INFO,
+ inhits = "HCalBarrelPositions",
+ outhits = "newHCalBarrelCells")
+
+positionsExtHcal = CreateVolumeCaloPositions("positionsExtHcal", OutputLevel = INFO)
+positionsExtHcal.hits.Path = hcalExtBarrelCellsName
+positionsExtHcal.positionedHits.Path = "HCalExtBarrelPositions"
+
+resegmentExtHcal = RedoSegmentation("ReSegmentationExtHcal",
+ # old bitfield (readout)
+ oldReadoutName = hcalExtBarrelReadoutName,
+ # specify which fields are going to be altered (deleted/rewritten)
+ #oldSegmentationIds = ["eta","phi"],
+ # new bitfield (readout), with new segmentation
+ newReadoutName = hcalExtBarrelReadoutPhiEtaName,
+ debugPrint = 10,
+ OutputLevel = INFO,
+ inhits = "HCalExtBarrelPositions",
+ outhits = "newHCalExtBarrelCells")
+
#Create calo clusters
from Configurables import CreateCaloClustersSlidingWindow, CaloTowerTool
from GaudiKernel.PhysicalConstants import pi
@@ -49,16 +86,16 @@
ecalBarrelReadoutName = ecalBarrelReadoutName,
ecalEndcapReadoutName = ecalEndcapReadoutName,
ecalFwdReadoutName = ecalFwdReadoutName,
- hcalBarrelReadoutName = hcalBarrelReadoutName,
- hcalExtBarrelReadoutName = hcalExtBarrelReadoutName,
+ hcalBarrelReadoutName = hcalBarrelReadoutPhiEtaName,
+ hcalExtBarrelReadoutName = hcalExtBarrelReadoutPhiEtaName,
hcalEndcapReadoutName = hcalEndcapReadoutName,
hcalFwdReadoutName = hcalFwdReadoutName,
OutputLevel = DEBUG)
towers.ecalBarrelCells.Path = ecalBarrelCellsName
towers.ecalEndcapCells.Path = ecalEndcapCellsName
towers.ecalFwdCells.Path = ecalFwdCellsName
-towers.hcalBarrelCells.Path = hcalBarrelCellsName
-towers.hcalExtBarrelCells.Path = hcalExtBarrelCellsName
+towers.hcalBarrelCells.Path = "newHCalBarrelCells"
+towers.hcalExtBarrelCells.Path ="newHCalExtBarrelCells"
towers.hcalEndcapCells.Path = hcalEndcapCellsName
towers.hcalFwdCells.Path = hcalFwdCellsName
@@ -98,6 +135,10 @@
ApplicationMgr(
TopAlg = [podioinput,
+ positionsHcal,
+ resegmentHcal,
+ positionsExtHcal,
+ resegmentExtHcal,
createClusters,
out
],
diff --git a/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_ReconstructionSW_noiseFromFile.py b/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_ReconstructionSW_noiseFromFile.py
index e85115e15..93ddb892a 100644
--- a/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_ReconstructionSW_noiseFromFile.py
+++ b/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_ReconstructionSW_noiseFromFile.py
@@ -3,16 +3,18 @@
ecalBarrelCellsName = "ECalBarrelCells"
ecalEndcapCellsName = "ECalEndcapCells"
ecalFwdCellsName = "ECalFwdCells"
-hcalBarrelCellsName = "newHCalCells"
-hcalExtBarrelCellsName = "newExtHCalCells"
+hcalBarrelCellsName = "HCalBarrelCells"
+hcalExtBarrelCellsName = "HCalExtBarrelCells"
hcalEndcapCellsName = "HCalEndcapCells"
hcalFwdCellsName = "HCalFwdCells"
# Readouts
ecalBarrelReadoutName = "ECalBarrelPhiEta"
ecalEndcapReadoutName = "EMECPhiEtaReco"
ecalFwdReadoutName = "EMFwdPhiEta"
-hcalBarrelReadoutName = "BarHCal_Readout_phieta"
-hcalExtBarrelReadoutName = "ExtBarHCal_Readout_phieta"
+hcalBarrelReadoutName = "HCalBarrelReadout"
+hcalExtBarrelReadoutName = "HCalExtBarrelReadout"
+hcalBarrelReadoutPhiEtaName = "BarHCal_Readout_phieta"
+hcalExtBarrelReadoutPhiEtaName = "ExtBarHCal_Readout_phieta"
hcalEndcapReadoutName = "HECPhiEta"
hcalFwdReadoutName = "HFwdPhiEta"
# Number of events
@@ -44,6 +46,41 @@
ecalBarrelNoiseHistName = "h_elecNoise_fcc_"
ecalEndcapNoiseHistName = "h_elecNoise_fcc_"
+# additionally for HCal
+from Configurables import CreateVolumeCaloPositions
+positionsHcal = CreateVolumeCaloPositions("positionsHcal", OutputLevel = INFO)
+positionsHcal.hits.Path = hcalBarrelCellsName
+positionsHcal.positionedHits.Path = "HCalBarrelPositions"
+
+from Configurables import RedoSegmentation
+resegmentHcal = RedoSegmentation("ReSegmentationHcal",
+ # old bitfield (readout)
+ oldReadoutName = hcalBarrelReadoutName,
+ # # specify which fields are going to be altered (deleted/rewritten)
+ # oldSegmentationIds = ["eta","phi"],
+ # new bitfield (readout), with new segmentation
+ newReadoutName = hcalBarrelReadoutPhiEtaName,
+ debugPrint = 10,
+ OutputLevel = INFO,
+ inhits = "HCalBarrelPositions",
+ outhits = "newHCalBarrelCells")
+
+positionsExtHcal = CreateVolumeCaloPositions("positionsExtHcal", OutputLevel = INFO)
+positionsExtHcal.hits.Path = hcalExtBarrelCellsName
+positionsExtHcal.positionedHits.Path = "HCalExtBarrelPositions"
+
+resegmentExtHcal = RedoSegmentation("ReSegmentationExtHcal",
+ # old bitfield (readout)
+ oldReadoutName = hcalExtBarrelReadoutName,
+ # specify which fields are going to be altered (deleted/rewritten)
+ #oldSegmentationIds = ["eta","phi"],
+ # new bitfield (readout), with new segmentation
+ newReadoutName = hcalExtBarrelReadoutPhiEtaName,
+ debugPrint = 10,
+ OutputLevel = INFO,
+ inhits = "HCalExtBarrelPositions",
+ outhits = "newHCalExtBarrelCells")
+
# add noise, create all existing cells in detector
from Configurables import NoiseCaloCellsFromFileTool, TubeLayerPhiEtaCaloTool,CreateCaloCells
noiseBarrel = NoiseCaloCellsFromFileTool("NoiseBarrel",
@@ -102,16 +139,16 @@
ecalBarrelReadoutName = ecalBarrelReadoutName,
ecalEndcapReadoutName = ecalEndcapReadoutName,
ecalFwdReadoutName = ecalFwdReadoutName,
- hcalBarrelReadoutName = hcalBarrelReadoutName,
- hcalExtBarrelReadoutName = hcalExtBarrelReadoutName,
+ hcalBarrelReadoutName = hcalBarrelReadoutPhiEtaName,
+ hcalExtBarrelReadoutName = hcalExtBarrelReadoutPhiEtaName,
hcalEndcapReadoutName = hcalEndcapReadoutName,
hcalFwdReadoutName = hcalFwdReadoutName,
OutputLevel = DEBUG)
towers.ecalBarrelCells.Path = ecalBarrelCellsName + "Noise"
towers.ecalEndcapCells.Path = ecalEndcapCellsName + "Noise"
towers.ecalFwdCells.Path = ecalFwdCellsName
-towers.hcalBarrelCells.Path = hcalBarrelCellsName
-towers.hcalExtBarrelCells.Path = hcalExtBarrelCellsName
+towers.hcalBarrelCells.Path = "newHCalBarrelCells"
+towers.hcalExtBarrelCells.Path ="newHCalExtBarrelCells"
towers.hcalEndcapCells.Path = hcalEndcapCellsName
towers.hcalFwdCells.Path = hcalFwdCellsName
@@ -149,6 +186,10 @@
ApplicationMgr(
TopAlg = [podioinput,
+ positionsHcal,
+ resegmentHcal,
+ positionsExtHcal,
+ resegmentExtHcal,
createEcalBarrelCells,
createEcalEndcapCells,
createClusters,
diff --git a/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_SimAndDigitisation.py b/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_SimAndDigitisation.py
index 0b55204a7..30162705a 100644
--- a/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_SimAndDigitisation.py
+++ b/Reconstruction/RecCalorimeter/tests/options/runFullCaloSystem_SimAndDigitisation.py
@@ -50,10 +50,8 @@
ecalEndcapReadoutName = "EMECPhiEta"
ecalFwdReadoutName = "EMFwdPhiEta"
# HCAL readouts
-hcalReadoutName = "BarHCal_Readout"
-newHcalReadoutName = hcalReadoutName + "_phieta"
-extHcalReadoutName = "ExtBarHCal_Readout"
-newExtHcalReadoutName = extHcalReadoutName + "_phieta"
+hcalReadoutName = "HCalBarrelReadout"
+extHcalReadoutName = "HCalExtBarrelReadout"
hcalEndcapReadoutName = "HECPhiEta"
hcalFwdReadoutName = "HFwdPhiEta"
# layers to be merged in endcaps & forward calo
@@ -154,6 +152,7 @@
hits="ECalBarrelCellsStep2",
cells="ECalBarrelCells")
+
# Create Ecal cells in endcaps
# 1. step - merge layer IDs
# 2. step - create cells
@@ -208,26 +207,7 @@
addCellNoise = False, filterCellNoise = False,
OutputLevel = INFO,
hits="HCalHits",
- cells="HCalCells")
-
-# additionally for HCal
-positionsHcal = CreateVolumeCaloPositions("positionsHcal", OutputLevel = INFO)
-positionsHcal.hits.Path = "HCalCells"
-positionsHcal.positionedHits.Path = "HCalPositions"
-
-from Configurables import RedoSegmentation
-resegmentHcal = RedoSegmentation("ReSegmentationHcal",
- # old bitfield (readout)
- oldReadoutName = hcalReadoutName,
- # # specify which fields are going to be altered (deleted/rewritten)
- oldSegmentationIds = ["eta","phi"],
- # new bitfield (readout), with new segmentation
- newReadoutName = newHcalReadoutName,
- debugPrint = 10,
- OutputLevel = INFO,
- inhits = "HCalPositions",
- outhits = "newHCalCells")
-
+ cells="HCalBarrelCells")
# Hcal extended barrel cells
createExtHcalCells = CreateCaloCells("CreateExtHcalCaloCells",
@@ -236,24 +216,7 @@
addCellNoise = False, filterCellNoise = False,
OutputLevel = INFO,
hits="ExtHCalHits",
- cells="ExtHCalCells")
-
-positionsExtHcal = CreateVolumeCaloPositions("positionsExtHcal", OutputLevel = INFO)
-positionsExtHcal.hits.Path = "ExtHCalCells"
-positionsExtHcal.positionedHits.Path = "ExtHCalPositions"
-
-resegmentExtHcal = RedoSegmentation("ReSegmentationExtHcal",
- # old bitfield (readout)
- oldReadoutName = extHcalReadoutName,
- # specify which fields are going to be altered (deleted/rewritten)
- oldSegmentationIds = ["eta","phi"],
- # new bitfield (readout), with new segmentation
- newReadoutName = newExtHcalReadoutName,
- debugPrint = 10,
- OutputLevel = INFO,
- inhits = "ExtHCalPositions",
- outhits = "newExtHCalCells")
-
+ cells="HCalExtBarrelCells")
# Create Hcal cells in endcaps
mergelayersHcalEndcap = MergeLayers("MergeLayersHcalEndcap",
@@ -299,7 +262,7 @@
out = PodioOutput("out",
OutputLevel=INFO)
-out.outputCommands = ["drop *", "keep ECalBarrelCells", "keep ECalEndcapCells", "keep ECalFwdCells", "keep newHCalCells", "keep newExtHCalCells", "keep HCalEndcapCells", "keep HCalFwdCells"]
+out.outputCommands = ["drop *", "keep ECalBarrelCells", "keep ECalEndcapCells", "keep ECalFwdCells", "keep HCalBarrelCells", "keep HCalExtBarrelCells", "keep HCalEndcapCells", "keep HCalFwdCells", "keep GenParticles","keep GenVertices"]
out.filename = "output_fullCalo_SimAndDigi_e50GeV_"+str(num_events)+"events.root"
#CPU information
@@ -315,11 +278,7 @@
createEcalEndcapCells.AuditExecute = True
createEcalFwdCells.AuditExecute = True
createHcalCells.AuditExecute = True
-positionsHcal.AuditExecute = True
-resegmentHcal.AuditExecute = True
createExtHcalCells.AuditExecute = True
-positionsExtHcal.AuditExecute = True
-resegmentExtHcal.AuditExecute = True
createHcalEndcapCells.AuditExecute = True
createHcalFwdCells.AuditExecute = True
out.AuditExecute = True
@@ -335,11 +294,7 @@
mergelayersEcalFwd,
createEcalFwdCells,
createHcalCells,
- positionsHcal,
- resegmentHcal,
createExtHcalCells,
- positionsExtHcal,
- resegmentExtHcal,
mergelayersHcalEndcap,
createHcalEndcapCells,
mergelayersHcalFwd,
diff --git a/Reconstruction/RecCalorimeter/tests/options/runHcalDigitisationFlatNoise.py b/Reconstruction/RecCalorimeter/tests/options/runHcalDigitisationFlatNoise.py
index f6e455ad4..86b100c81 100644
--- a/Reconstruction/RecCalorimeter/tests/options/runHcalDigitisationFlatNoise.py
+++ b/Reconstruction/RecCalorimeter/tests/options/runHcalDigitisationFlatNoise.py
@@ -15,18 +15,20 @@
# common HCAL specific information
# readout name
-hcalReadoutName = "BarHCal_Readout"
+hcalReadoutName = "HCalBarrelReadout"
# active material identifier name
-hcalIdentifierName = ["module", "row", "layer", "tile"]
+hcalIdentifierName = ["module", "row", "layer"]
# active material volume name
-hcalVolumeName = ["moduleVolume", "wedgeVolume", "layerVolume", "modCompVolume"]
+hcalVolumeName = ["moduleVolume", "wedgeVolume", "layerVolume"]
# ECAL bitfield names & values
hcalFieldNames=["system"]
hcalFieldValues=[8]
#Configure tools for calo reconstruction
from Configurables import CalibrateCaloHitsTool, NoiseCaloCellsFlatTool, NestedVolumesCaloTool
-noise = NoiseCaloCellsFlatTool("HCalNoise")
+calibHcells = CalibrateCaloHitsTool("CalibrateHCal", invSamplingFraction="41.7 ")
+noise = NoiseCaloCellsFlatTool("HCalNoise",
+ cellNoise = 0.01)
hcalgeo = NestedVolumesCaloTool("HcalGeo",
activeVolumeName = hcalVolumeName,
activeFieldName = hcalIdentifierName,
@@ -38,7 +40,8 @@
from Configurables import CreateCaloCells
createcells = CreateCaloCells("CreateCaloCells",
geometryTool = hcalgeo,
- doCellCalibration = False,
+ calibTool=calibHcells,
+ doCellCalibration = True,
addCellNoise = True, filterCellNoise = False,
noiseTool = noise,
OutputLevel = DEBUG)
diff --git a/Reconstruction/RecCalorimeter/tests/options/runHcalDigitisationWithoutNoise.py b/Reconstruction/RecCalorimeter/tests/options/runHcalDigitisationWithoutNoise.py
index df723c5c0..90d698484 100644
--- a/Reconstruction/RecCalorimeter/tests/options/runHcalDigitisationWithoutNoise.py
+++ b/Reconstruction/RecCalorimeter/tests/options/runHcalDigitisationWithoutNoise.py
@@ -13,9 +13,14 @@
'file:Detector/DetFCChhHCalTile/compact/FCChh_HCalBarrel_TileCal.xml'],
OutputLevel = INFO)
+#Configure tools for calo reconstruction
+from Configurables import CalibrateCaloHitsTool
+calibHcells = CalibrateCaloHitsTool("CalibrateHCal", invSamplingFraction="41.7 ")
+
from Configurables import CreateCaloCells
createcells = CreateCaloCells("CreateCaloCells",
- doCellCalibration = False,
+ calibTool=calibHcells,
+ doCellCalibration = True,
addCellNoise = False, filterCellNoise = False,
OutputLevel = DEBUG)
createcells.hits.Path="HCalHits"
diff --git a/Sim/SimG4Components/CMakeLists.txt b/Sim/SimG4Components/CMakeLists.txt
index dd687f212..8dae594ee 100644
--- a/Sim/SimG4Components/CMakeLists.txt
+++ b/Sim/SimG4Components/CMakeLists.txt
@@ -24,6 +24,9 @@ include(CTest)
gaudi_add_test(GeantFullSimGdml
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
FRAMEWORK tests/options/geant_fullsim_gdml.py)
+gaudi_add_test(GeantFullSimHCal
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+ FRAMEWORK tests/options/geant_fullsim_hcal.py)
gaudi_add_test(GeantFullSimMoreEvents
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/Sim/SimG4Components/tests/
FRAMEWORK tests/options/geant_fullsim_moreEvents.py)
diff --git a/Sim/SimG4Components/tests/options/geant_fullsim_hcal.py b/Sim/SimG4Components/tests/options/geant_fullsim_hcal.py
index 8aac8aaa3..bd155d0e9 100644
--- a/Sim/SimG4Components/tests/options/geant_fullsim_hcal.py
+++ b/Sim/SimG4Components/tests/options/geant_fullsim_hcal.py
@@ -33,7 +33,7 @@
# first, create a tool that saves the calorimeter hits (of type "hcal")
# Name of that tool in GAUDI is "XX/YY" where XX is the tool class name ("SimG4SaveTrackerHits")
# and YY is the given name ("saveTrackerHits")
-savehcaltool = SimG4SaveCalHits("saveHCalHits", readoutNames = ["BarHCal_Readout"])
+savehcaltool = SimG4SaveCalHits("saveHCalHits", readoutNames = ["HCalBarrelReadout"])
savehcaltool.positionedCaloHits.Path = "positionedCaloHits"
savehcaltool.caloHits.Path = "caloHits"
# next, create the G4 algorithm, giving the list of names of tools ("XX/YY")