GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » EMC » Problems with EMC backward endcap geometry
icon8.gif  Problems with EMC backward endcap geometry [message #17002] Mon, 14 July 2014 15:02 Go to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *
Dear all,
it seems that there are some problems in the geoemtry of the backward endcap, which are hidden with externals apr13 but they appear with new versions of root, and also using dec13 and dec13p1.

In particular, if you run a simulation macro with dec13/dec13p1 with a root backward EC geometry, you have a crash when quitting root, when the TGeoManager is closing the objects. If you run with apr13, everything seems smooth. If you use an EMC geoemtry w/o the roto backward endcap, or with an old .dat geoemtry, the crash is not present.

You can try by yourself, running macro/emc/sim_emc.C where you have to use:


(corresponding to file emc_module4_StraightGeo24.4.root).

You will have the following crash:

Toggle Spoiler

In order to check what is going wrong, I have tried to check the macro to create the root file, macro/emc/dedicated/createRootGeoFileBwEnd_Str24.4.C, modifying the path to the media file, I have the following error:

Info in <TGeoManager::CheckGeometry>: Fixing runtime shapes...
Info in <TGeoManager::CheckGeometry>: ...Nothing to fix
Info in <TGeoManager::CloseGeometry>: Counting nodes...
Info in <TGeoManager::Voxelize>: Voxelizing...
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume Emc4
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume QuarterNewVol
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol1
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol2
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol3
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol4
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol5
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol6
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol7
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol8
Error in <TGeoVoxelFinder::SortAll>: Wrong bounding box for volume SubunitVol9
Info in <TGeoManager::CloseGeometry>: Building cache...
Info in <TGeoManager::CountLevels>: max level = 4, max placements = 14
Info in <TGeoManager::CloseGeometry>: 765 nodes/ 20 volume UID's in FAIR geometry
Info in <TGeoManager::CloseGeometry>: ----------------modeler ready----------------
Info in <TGeoManager::Export>: Exporting FAIRGeom FAIR geometry as root file. Optimizations streamed.
Info in <TCanvas::MakeDefCanvas>:  created default TCanvas with name c1
Info in <TGeoManager::SetVisLevel>: Automatic visible depth disabled

This tells me that we have some serious problem, since the same error I get usign apr13 externals.

Could somebody please take a look and fix it? If not, with the new incoming external packages, I will have to comment out the detector from the default reconstruction.

Thanks in advance.

Re: Problems with EMC backward endcap geometry [message #17137 is a reply to message #17002] Thu, 07 August 2014 10:46 Go to previous messageGo to next message
Tobias Stockmanns is currently offline  Tobias Stockmanns
Messages: 489
Registered: May 2007
first-grade participant
From: *
Dear EMC developers,

I can confirm the problem of Stefano in the latest external packages jul14. With the EMC the Geometry cannot be written properly at the end of the simulation macro.
I get a segmentation violation with the following output:

*** Break *** segmentation violation
Generating stack trace...
0x0000000101691cab in (anonymous namespace)::TerminalConfigUnix__handleSignal(int) (in + 27
0x00007fff9344b5aa in _sigtramp (in libsystem_platform.dylib) + 26
0x00007fc44be8f360 in <unknown function>
0x000000010159d094 in TClass::GetActualClass(void const*) const (in + 196
0x0000000102d17ae5 in TBufferFile::WriteObjectAny(void const*, TClass const*) (in + 181
0x000000010155d714 in operator<<(TBuffer&, TObject const*) (in + 68
0x00000001015695ec in TObjArray::Streamer(TBuffer&) (in + 716
0x00000001015a5c32 in TClass::StreamerTObjectInitialized(void*, TBuffer&, TClass const*) const (in + 66
0x0000000102d1d0a9 in TClass::Streamer(void*, TBuffer&, TClass const*) const (in + 137
0x0000000102d1693c in TBufferFile::WriteFastArray(void**, TClass const*, int, bool, TMemberStreamer*) (in + 476
0x0000000102f80283 in int TStreamerInfo::WriteBufferAux<char**>(TBuffer&, char** const&, int, int, int, int) (in + 19651
0x0000000102dd578f in TStreamerInfoActions::GenericWriteAction(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) (in + 111
0x0000000102d1d915 in TStreamerInfoActions::TConfiguredAction::operator()(TBuffer&, void*) const (in + 53
0x0000000102d1c032 in TBufferFile::ApplySequence(TStreamerInfoActions::TActionSequence const&, void*) (in + 994
0x0000000102d1bb87 in TBufferFile::WriteClassBuffer(TClass const*, void*) (in + 583
0x000000010320d53f in TGeoManager::Streamer(TBuffer&) (in + 207
0x00000001015b3160 in TClass::StreamerTObject(void*, TBuffer&, TClass const*) const (in + 96
0x0000000102d1d0a9 in TClass::Streamer(void*, TBuffer&, TClass const*) const (in + 137
0x0000000102d179cc in TBufferFile::WriteObjectClass(void const*, TClass const*) (in + 572
0x0000000102d17c9d in TBufferFile::WriteObjectAny(void const*, TClass const*) (in + 621
0x000000010b087cd5 in FairGeoParSet::Streamer(TBuffer&) (in (G__BaseDict.cxx:4151)
0x0000000102d973cb in TKey::TKey(TObject const*, char const*, int, TDirectory*) (in + 939
0x0000000102d97013 in TKey::TKey(TObject const*, char const*, int, TDirectory*) (in + 51
0x0000000102d3eb31 in TFile::CreateKey(TDirectory*, TObject const*, char const*, int) (in + 97
0x0000000102d2c0da in TDirectoryFile::WriteTObject(TObject const*, char const*, char const*, int) (in + 1642
0x00000001014cacdc in TObject::Write(char const*, int, int) const (in + 380
0x00000001014cae1e in TObject::Write(char const*, int, int) (in + 62
0x000000010af6c993 in FairDetParRootFileIo::write(FairParSet*) (in (FairParSet.h:66)
0x000000010af78a9c in FairRuntimeDb::writeContainer(FairParSet*, FairRtdbRun*, FairRtdbRun*) (in (FairRuntimeDb.cxx:416)
0x000000010af787e5 in FairRuntimeDb::writeContainers() (in (FairRuntimeDb.cxx:299)
0x000000010af794d9 in FairRuntimeDb::saveOutput() (in (FairRuntimeDb.cxx:778)
0x000000010af9df56 in G__G__ParBaseDict_286_0_31(G__value*, char const*, G__param*, int) (in (G__ParBaseDict.cxx:6115)
0x0000000101f60214 in Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in + 148
0x000000010209ab52 in G__execute_call (in + 98
0x000000010209b496 in G__call_cppfunc (in + 1830
0x0000000102058bd5 in G__interpret_func (in + 4965
0x000000010203afdd in G__getfunction (in + 9965
0x00000001021deb04 in G__getstructmem(int, G__FastAllocString&, char*, int, char*, int*, G__var_array*, int) (in + 4884
0x00000001021cd83b in G__getvariable (in + 3243
0x0000000102029adc in G__getitem (in + 2732
0x0000000102028404 in G__getexpr (in + 87268
0x00000001020f310f in G__exec_function(G__FastAllocString&, int*, int*, int*, G__value*) (in + 383
0x00000001020e8459 in G__exec_statement (in + 32121
0x000000010205c130 in G__interpret_func (in + 18624
0x000000010203bf62 in G__getfunction (in + 13938
0x0000000102029bbd in G__getitem (in + 2957
0x0000000102028404 in G__getexpr (in + 87268
0x0000000102012e55 in G__calc_internal (in + 1237
0x00000001020fe986 in G__process_cmd (in + 20342
0x000000010157f7ae in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) (in + 622
0x000000010158000f in TCint::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) (in + 191
0x000000010148098c in TApplication::ExecuteFile(char const*, int*, bool) (in + 5644
0x000000010147f370 in TApplication::ProcessFile(char const*, int*, bool) (in + 48
0x000000010147ed88 in TApplication::ProcessLine(char const*, bool, int*) (in + 3960
0x00000001027be03b in TRint::Run(bool) (in + 2155
0x0000000101469b57 in main (in root.exe) + 135
0x00007fff8f1165fd in start (in libdyld.dylib) + 1
0x0000000000000004 in <unknown function>
Root > Function sim_complete_vis() busy flag cleared
Re: Problems with EMC backward endcap geometry [message #17293 is a reply to message #17002] Tue, 16 September 2014 09:11 Go to previous message
Dmitry Khaneft is currently offline  Dmitry Khaneft
Messages: 75
Registered: January 2009
continuous participant
From: *
Dear all,

it took some time... it should work now. I updated the BW EMC geometry and submitted it to the trunk. Please check if it works for you as well.

p.s. I updated the geometry creation macro "macro/emc/dedicated/createRootGeoFileBwEnd_Str24.4_fixed.C" It doesn't produce any errors and an overlap test is good as well.

p.p.s. It would be nice if someone could check it independently.
I have used fairsoft dec13p1 and pandaroot trunk rev 26001 with a macro/run/sim_complete.C and it worked for me.


[Updated on: Tue, 16 September 2014 12:33]

Report message to a moderator

Previous Topic: EMC energy and position correction
Next Topic: Cut on minimum track distance for neutrals
Goto Forum:

Current Time: Tue Jan 25 15:28:35 CET 2022

Total time taken to generate the page: 0.00856 seconds