Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DD4hep][Simulation] 2021 scenario: Attempt to DOUBLE-place physical volume #31466

Closed
ianna opened this issue Sep 15, 2020 · 13 comments
Closed

Comments

@ianna
Copy link
Contributor

ianna commented Sep 15, 2020

When the 2021 geometry scenario is converted to G4 geometry, the physical volume double placement is reported for the following volumes:

Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_1_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_2_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_3_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_4_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_5_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_1_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_2_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_3_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_4_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: EVFE_5_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: HoleTPG_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: HoleTPG_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: HoleTPG_3 No:3
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: HoleTPG_4 No:4
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: HoleTPG_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: HoleTPG_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: HoleTPG_3 No:3
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: HoleTPG_4 No:4
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: RPixnoWafer_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: TPG_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: TPGGlue_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: TPGGlue_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: Hybrid_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: Hybrid_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_3 No:3
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_4 No:4
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_5 No:5
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_6 No:6
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_3 No:3
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_4 No:4
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_5 No:5
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_6 No:6
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: RPixWafer_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: TPG_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: TPGGlue_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: TPGGlue_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: Hybrid_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: Hybrid_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_3 No:3
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: ROChip_4 No:4
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_1 No:1
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_2 No:2
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_3 No:3
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: BumpBond_4 No:4
Geant4Converter  ERROR ++ Attempt to DOUBLE-place physical volume: RPixWafer_1 No:1

To reproduce:

cmsRun SimG4Core/DD4hepGeometry/test/python/testG4Geometry.py 
@cmsbuild
Copy link
Contributor

A new Issue was created by @ianna Ianna Osborne.

@Dr15Jones, @dpiparo, @silviodonato, @smuzaffar, @makortel, @qliphy can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

@makortel
Copy link
Contributor

assign simulation, geometry

@cmsbuild
Copy link
Contributor

New categories assigned: geometry,simulation

@Dr15Jones,@cvuosalo,@mdhildreth,@mdhildreth,@makortel,@ianna,@civanch,@civanch you have been requested to review this Pull request/Issue and eventually sign? Thanks

@vargasa
Copy link
Contributor

vargasa commented Sep 16, 2020

EVFE* are ECAL volumes
HoleTPG*,RPixnoWafer,TPG*,ROChip,BumpBond*,Hybrid*: are volumes from RP Stations
FYI @wpcarvalho, @bsunanda

@cvuosalo
Copy link
Contributor

cvuosalo commented Oct 1, 2020

I am investigating this issue. Is anyone else working on it?

@ianna
Copy link
Contributor Author

ianna commented Oct 2, 2020

@cvuosalo
Copy link
Contributor

cvuosalo commented Oct 6, 2020

@ianna The EVFE volumes are also placed by code here:

https://cmssdt.cern.ch/lxr/source/Geometry/EcalCommonData/plugins/dd4hep/DDEcalBarrelNewAlgo.cc?v=CMSSW_11_2_X_2020-10-05-1200#1814

I had to comment out a lot of "VFE" lines of code to eliminate the double placement. Now I have to check them one-by-one to see which adds the first volume and which adds the double volume.

@bsunanda
Copy link
Contributor

bsunanda commented Oct 6, 2020 via email

@cvuosalo
Copy link
Contributor

cvuosalo commented Oct 6, 2020

@bsunanda
These code lines starting at line 1808 are enough to cause the double placement, even with other backCoolVFE* lines commented out.

      for (unsigned int iLyr(0); iLyr != backCool.vecBackVFELyrThick.size(); ++iLyr) {
        Solid backVFELyrSolid =
            Box(backCool.barHeight / 2., backCool.barWidth / 2., backCool.vecBackVFELyrThick[iLyr] / 2.);
        Volume backVFELyrLog =
            Volume(backCool.vecBackVFELyrName[iLyr], backVFELyrSolid, ns.material(backCool.vecBackVFELyrMat[iLyr]));
        const Position backVFELyrTra(0, 0, backCool.vecBackVFELyrThick[iLyr] / 2);
        backVFELog.placeVolume(backVFELyrLog, copyOne, Transform3D(backVFELyrTra + offTra));
        LogDebug("EcalGeom") << "Placing " << backCool.vecBackVFELyrName[iLyr] << " Iteration number " << iLyr;
        offTra += 2 * backVFELyrTra;
      }

I will leave this problem to you.

@cvuosalo
Copy link
Contributor

cvuosalo commented Nov 2, 2020

With CMSSW_11_2_X_2020-11-02-1100 in step 1 with DD4hep, still see the double placement:

Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_1_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_2_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_3_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_4_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_5_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_1_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_2_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_3_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_4_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_5_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_1_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_2_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_3_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_4_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: ebalgo:EVFE_5_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: CTPPS_Pixel_Module:HoleTPG_1 No:1
Geant4Converter ERROR ++ Attempt to DOUBLE-place physical volume: CTPPS_Pixel_Module:HoleTPG_2 No:2

@ianna
Copy link
Contributor Author

ianna commented Nov 4, 2020

@cvuosalo - FYI, the double placement is fixed in a DD4hep private branch https://github.com/MarkusFrankATcernch/DD4hep

Geant4Converter        +++ Place volume CTPPS_Pixel_Module:HoleTPG in mother CTPPS_Pixel_Module:TPG Tr:x=    39.0 y=    13.5 z=     0.0   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume CTPPS_Pixel_Module:HoleTPG in mother CTPPS_Pixel_Module:TPG Tr:x=   -39.0 y=    13.5 z=     0.0   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume CTPPS_Pixel_Module:HoleTPG in mother CTPPS_Pixel_Module:TPG Tr:x=    39.0 y=   -23.5 z=     0.0   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume CTPPS_Pixel_Module:HoleTPG in mother CTPPS_Pixel_Module:TPG Tr:x=   -39.0 y=   -23.5 z=     0.0   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume CTPPS_Pixel_Module_2x2:HoleTPG in mother CTPPS_Pixel_Module_2x2:TPG Tr:x=    39.0 y=    13.5 z=     0.0   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume CTPPS_Pixel_Module_2x2:HoleTPG in mother CTPPS_Pixel_Module_2x2:TPG Tr:x=   -39.0 y=    13.5 z=     0.0   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume CTPPS_Pixel_Module_2x2:HoleTPG in mother CTPPS_Pixel_Module_2x2:TPG Tr:x=    39.0 y=   -23.5 z=     0.0   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume CTPPS_Pixel_Module_2x2:HoleTPG in mother CTPPS_Pixel_Module_2x2:TPG Tr:x=   -39.0 y=   -23.5 z=     0.0   Scale:x=1.00 y=1.00 z=1.00

and

Geant4Converter        +++ Place volume ebalgo:EVFE_1 in mother eregalgo:ECVFE Tr:x=     0.0 y=     0.0 z=    -3.2   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume ebalgo:EVFE_1_refl in mother eregalgo:ECVFE_refl Tr:x=     0.0 y=     0.0 z=     3.2   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume ebalgo:EVFE_1 in mother eregalgo:ECVFE Tr:x=     0.0 y=     0.0 z=    -3.2   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume ebalgo:EVFE_1_refl in mother eregalgo:ECVFE_refl Tr:x=     0.0 y=     0.0 z=     3.2   Scale:x=1.00 y=1.00 z=1.00
Geant4Converter        +++ Place volume ebalgo:EVFE_1 in mother eregalgo:ECVFE Tr:x=     0.0 y=     0.0 z=    -3.2   Scale:x=1.00 y=1.00 z=1.00

@cvuosalo
Copy link
Contributor

cvuosalo commented Dec 4, 2020

+1

@cvuosalo
Copy link
Contributor

cvuosalo commented Dec 4, 2020

@ianna I believe this issue is fixed. Could you please close it?

@ianna ianna closed this as completed Dec 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants