If you want to make changes in the detector design, edit “compact.xml”, and then run the converters:
JAVA_OPTS="-Xms2048m -Xmx2048m" GCONVERTER=lcsim/detector-framework/target/lcsim-detector-framework-3.1.6-SNAPSHOT-bin.jar GEOM="mydetector" # name of your detector java $JAVA_OPTS -jar $GCONVERTER -o lcdd compact.xml $GEOM.lcdd slic -g ${GEOM}.lcdd -G ${GEOM}.gdml echo "heprep compact.xml.." java $JAVA_OPTS -jar $GCONVERTER -o heprep compact.xml $GEOM.heprep echo "pandora compact.xml.." java $JAVA_OPTS -jar $GCONVERTER -o pandora compact.xml $GEOM.pandora java $JAVA_OPTS -jar $GCONVERTER -o html compact.xml ${GEOM}.html
where “${GEOM}” is the name of the detector geometry. Next, check that you do not have overlapping volumes. Run ROOT with the commands:
TGeoManager::Import("mydetector.gdml"); gGeoManager->ViewLeaves(true); gGeoManager->ls("All"); gGeoManager->CheckOverlaps(0.1); //0.1 tolerance or better! gGeoManager->PrintOverlaps(); gGeoManager->GetTopVolume()->Draw("ogl");
If you see that some volumes overlap, come back to “compact.xml” and make corrections.
All information required by Pandora algorithm is stored in the file with the extension “.pandora”. This file is created using GeoConvertor, which reads CalorimeterCalibration.properties file. In particular, it reads:
The sampling fractions are taken from the detector directory called “SamplingFractions”. Here files look as this:
BeamCal.properties* EcalBarrel.properties* EcalEndcap.properties* HcalBarrel.properties* HcalEndcap.properties* LumiCal.properties* MuonBarrel.properties* MuonEndcap.properties* README*
Look at the file:
lcsim/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/pandora/Main.java
— Sergei Chekanov 2017/04/12 21:58