GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » EMC » Time-based EMC simulation
Time-based EMC simulation [message #15408] Mon, 02 September 2013 22:09 Go to next message
Dima Melnychuk is currently offline  Dima Melnychuk
Messages: 213
Registered: April 2004
Location: National Centre for Nucle...
first-grade participant
From: *play-internet.pl
Dear all,

I want to let everybody know that I've committed today the code for time-based EMC digitization by Jifeng Hu.

From my side I would like to comment that he changed the algorithm used for pulseshape analysis used by default to PndEmcPSAFPGADigitalFilterAnalyser and as a result the energy calibration for EMC cluster is not so good anymore
which affects in turn PndPidCandidate::GetEmcCalEnergy()
and calibration still should be redone.

Dima

P.S. The warning about shadow declaration appeared in initial commit is already fixed.
Re: Time-based EMC simulation [message #15416 is a reply to message #15408] Tue, 03 September 2013 13:21 Go to previous messageGo to next message
Radoslaw Karabowicz is currently offline  Radoslaw Karabowicz
Messages: 108
Registered: June 2004
Location: GSI
continuous participant
From: *gsi.de
Dear Dima,

Recent problem quoted below is caused by EMC and may be an effect of your last commit, can you have a look?

Ajay Kumar wrote on Tue, 03 September 2013 10:12

Hello ..

I have also run old macro inside the folder /macro/mvd/TimeOrderedSim getting same problem.

ajay@ajay-Vostro-1014:~/pandaroot/macro/mvd/TimeOrderedSim$ root -l run_sim_sttcombi_dpm.C
root [0]
Processing run_sim_sttcombi_dpm.C...
Error in <TClonesArray::SetClass>: called with a null pointer
Ext: par addon: cut: 0 Truncated: Mvd_Sim
FairRootManager::OpenOutFile("Mvd_Sim.root")
[INFO ] Media file used : /home/ajay/pandaroot/geometry/media_pnd.geo
Info in (PndGeoHandling::Instance): Making a new instance using the framework.
-I container name PndEmcGeoPar
<I> PndDpmDirect initialization
<I> Momentum = 5
<I> Seed = 1.92235e+09
<I> Mode = 1
<I> Theta min = 2
Tmin= -3.04495133E-02 Tmax= -7.7836609
sig_col 3.95907741E-03
sig_inter 0.41664422 sig_iexact -2.43103430E-02
sig_had_el 20.359825
sig_had_p 13.508554
[INFO ] ============== FairRunSim: Initialising simulation run ==============
Info in <TGeoManager::TGeoManager>: Geometry FAIRGeom, FAIR geometry create
........
......
......
PndEmcHitProducer::FinishTask
*********************************************************
Read points # 115660
Produc hits# 465, threshold# 1e-06
Hits above threshhod#185
*********************************************************
RealTime=81.542956 seconds, CpuTime=81.160000 seconds
(int)54


jay@ajay-Vostro-1014:~/pandaroot/macro/mvd/TimeOrderedSim$ root -l Mvd_Sim.root
root [0]
Attaching file Mvd_Sim.root as _file0...
Error in <TClonesArray::SetClass>: called with a null pointer
root [1]



Help is needed

Thanks

Re: Time-based EMC simulation [message #15426 is a reply to message #15408] Wed, 04 September 2013 12:11 Go to previous messageGo to next message
Dima Melnychuk is currently offline  Dima Melnychuk
Messages: 213
Registered: April 2004
Location: National Centre for Nucle...
first-grade participant
From: *fuw.edu.pl
From my side I can say that I cannot reproduce this error
running

/pandaroot/macro/mvd/TimeOrderedSim$ root -l run_sim_sttcombi_dpm.C

and

/pandaroot/macro/mvd/TimeOrderedSim$ root -l Mvd_Sim.root


I tried with rev. 21586

Dima

Re: Time-based EMC simulation [message #15428 is a reply to message #15426] Wed, 04 September 2013 14:34 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 176.206.47*
Is it possible that the error appears only on event-based macros and not in time-based ones? With macro/run macro I can see the message, no idea if it is harmful or not.
Re: Time-based EMC simulation [message #15429 is a reply to message #15408] Wed, 04 September 2013 14:51 Go to previous messageGo to next message
Dima Melnychuk is currently offline  Dima Melnychuk
Messages: 213
Registered: April 2004
Location: National Centre for Nucle...
first-grade participant
From: *fuw.edu.pl
I do not see it either with macros from macro/run.

Could it be due to different external package version?
I use sep12.

Dima
Re: Time-based EMC simulation [message #15430 is a reply to message #15429] Wed, 04 September 2013 14:55 Go to previous messageGo to next message
Radoslaw Karabowicz is currently offline  Radoslaw Karabowicz
Messages: 108
Registered: June 2004
Location: GSI
continuous participant
From: *gsi.de
It might be, at least I am using APR13, and this is the official externals now.
Can you try your code with APR13?

yours
radek
Re: Time-based EMC simulation [message #15443 is a reply to message #15408] Thu, 05 September 2013 15:24 Go to previous messageGo to next message
Dima Melnychuk is currently offline  Dima Melnychuk
Messages: 213
Registered: April 2004
Location: National Centre for Nucle...
first-grade participant
From: *fuw.edu.pl
Just want to mention that I tried apr13 external packages and I still do not see that error. Strange...

Dima
Re: Time-based EMC simulation [message #15444 is a reply to message #15443] Thu, 05 September 2013 15:25 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
Hi,
meanwhile I have tried to update the new code in my Mac but I have the following error in compilation:


[ 75%] Building CXX object emc/CMakeFiles/Emc.dir/EmcTimeBased/PndEmcFpgaPar.cxx.o
[ 76%] Building CXX object emc/CMakeFiles/Emc.dir/EmcTimeBased/PndEmcDigiCalibrator.cxx.o
/Users/spataro/apr13/pandaroot/emc/EmcTimeBased/PndEmcDigiCalibrator.cxx:40:1: error: expected a class or namespace
Double_t::PndEmcDigiCalibrator::fTimeWindowOfDigi[5][17]={
^
/Users/spataro/apr13/pandaroot/emc/EmcTimeBased/PndEmcDigiCalibrator.cxx:40:33: error: C++ requires a type specifier for all declarations
Double_t::PndEmcDigiCalibrator::fTimeWindowOfDigi[5][17]={
~~~~~~~~                        ^
/Users/spataro/apr13/pandaroot/emc/EmcTimeBased/PndEmcDigiCalibrator.cxx:48:1: error: expected a class or namespace
Double_t::PndEmcDigiCalibrator::fTimeWindowOfShower[5][20]={
^
/Users/spataro/apr13/pandaroot/emc/EmcTimeBased/PndEmcDigiCalibrator.cxx:48:33: error: C++ requires a type specifier for all declarations
Double_t::PndEmcDigiCalibrator::fTimeWindowOfShower[5][20]={
~~~~~~~~                        ^
4 errors generated.
make[2]: *** [emc/CMakeFiles/Emc.dir/EmcTimeBased/PndEmcDigiCalibrator.cxx.o] Error 1
make[1]: *** [emc/CMakeFiles/Emc.dir/all] Error 2
make: *** [all] Error 2
host104-pool27:build spataro$ 
Re: Time-based EMC simulation [message #15448 is a reply to message #15408] Thu, 05 September 2013 16:37 Go to previous messageGo to next message
Dima Melnychuk is currently offline  Dima Melnychuk
Messages: 213
Registered: April 2004
Location: National Centre for Nucle...
first-grade participant
From: *fuw.edu.pl
Can you try now, Stefano?
rev. 21613.
Re: Time-based EMC simulation [message #15450 is a reply to message #15448] Thu, 05 September 2013 16:55 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
Much better now, thanks.
Re: Time-based EMC simulation [message #15470 is a reply to message #15450] Sun, 08 September 2013 11:45 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
A philosophical question:
the time-based simulation for emc is based on the readout for PWO. From the code I would assume that the implemented classes work also for the FSC, but is it realistic? Or does the FSC need a different code?
Re: Time-based EMC simulation [message #15489 is a reply to message #15443] Fri, 13 September 2013 12:23 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *eduroam.ruhr-uni-bochum.de
Hi Dima,
I put several cout in the code, and I realized that the message is produced not by PndEmc, but by the PndEmcHitProducer, in particular calling the constructor. I hope this information can help somehow. I was not able to understand what is really the problem.
Re: Time-based EMC simulation [message #15491 is a reply to message #15489] Fri, 13 September 2013 12:44 Go to previous messageGo to next message
Dima Melnychuk is currently offline  Dima Melnychuk
Messages: 213
Registered: April 2004
Location: National Centre for Nucle...
first-grade participant
From: *fuw.edu.pl
Hi Stefano,

Since I cannot reproduce the error it's difficult to debug it,
but can you try now (rev. 21696)?

Dima
Re: Time-based EMC simulation [message #15492 is a reply to message #15491] Fri, 13 September 2013 12:47 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *eduroam.ruhr-uni-bochum.de
I did it already with the last trunk. The message is not at the beginning but in the middle, before Init.
If you have a previous paramere file (you don't remove simparams.root), then you can see the message also at the beginning. But in reality it happens later in the macro:

EvtGen:Redefined decay of J/psi
EvtGen:Given allowed decays, resetting minMass pbarpSystem 1.48 to 3.37581
EvtGen:Reading /Users/spataro/apr13/pandaroot/macro/run/psi2s_Jpsi2pi_Jpsi_mumu.dec to override decay table.

############# Generating with following conditions:

incident 4-mom : (7.24006, 0, 0, 6.23155), m = 3.68596

######################


Error in <TClonesArray::SetClass>: called with a null pointer
[INFO   ] ==============  FairRunSim: Initialising simulation run ============== 
Info in <TGeoManager::TGeoManager>: Geometry FAIRGeom, FAIR geometry created
-I- FairGeoMedia  Read media

************************************************************* 
     initialisation for run id 1379067560
************************************************************* 
Re: Time-based EMC simulation [message #15493 is a reply to message #15408] Fri, 13 September 2013 13:05 Go to previous messageGo to next message
Dima Melnychuk is currently offline  Dima Melnychuk
Messages: 213
Registered: April 2004
Location: National Centre for Nucle...
first-grade participant
From: *fuw.edu.pl
I do not see it nor at the begining, not in the place you have it.

But can you try one more time (rev. 21697)?

Dima
Re: Time-based EMC simulation [message #15495 is a reply to message #15493] Fri, 13 September 2013 17:06 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 88.128.80*
Done! Now with the emc macro:

MacBook-Pro-di-Stefano:emc spataro$ pwd
/Users/spataro/apr13/pandaroot/macro/emc
MacBook-Pro-di-Stefano:emc spataro$ svn info
Path: .
URL: https://subversion.gsi.de/fairroot/pandaroot/trunk/macro/emc
Repository Root: https://subversion.gsi.de/fairroot
Repository UUID: 0381ead4-6506-0410-b988-94b70fbc4730
Revision: 21697
Node Kind: directory
Schedule: normal
Last Changed Author: dimam
Last Changed Rev: 21680
Last Changed Date: 2013-09-11 14:50:34 +0200 (Mer, 11 Set 2013)
MacBook-Pro-di-Stefano:emc spataro$ root -l sim_emc.C 
root [0] 
Processing sim_emc.C...
Error in <TClonesArray::SetClass>: called with a null pointer
FairRootManager::OpenOutFile("sim_emc.root")
[INFO   ] Media file used : /Users/spataro/apr13/pandaroot/geometry/media_pnd.geo  
 -I container name PndEmcGeoPar
[INFO   ] ==============  FairRunSim: Initialising simulation run ============== 
Info in <TGeoManager::TGeoManager>: Geometry FAIRGeom, FAIR geometry created
-I- FairGeoMedia  Read media
 -I container name PndEmcDigiPar
 -I container name PndEmcDigiNonuniformityPar

************************************************************* 
     initialisation for run id 1379084142
************************************************************* 
-I- FairRunTimeDB::InitContainer() PndEmcGeoPar
[ERROR  ] init() PndEmcGeoPar  not initialized 
-I- FairRunTimeDB::InitContainer() PndEmcDigiPar
PndEmcDigiPar initialized from Ascii file
-I- FairRunTimeDB::InitContainer() PndEmcDigiNonuniformityPar
[ERROR  ] init() PndEmcDigiNonuniformityPar  not initialized 
Error in <FairRuntimeDb::initContainers()>: Error occured during initialization
[INFO   ] PndFieldMap: Reading field map from ROOT file  /Users/spataro/apr13/pandaroot/input/TransMap.1500.root  
[INFO   ] PndFieldMap: Reading field map from ROOT file  /Users/spataro/apr13/pandaroot/input/DipoleMap1.1500.root  
[INFO   ] PndFieldMap: Reading field map from ROOT file  /Users/spataro/apr13/pandaroot/input/DipoleMap2.1500.root  
[INFO   ] PndFieldMap: Reading field map from ROOT file  /Users/spataro/apr13/pandaroot/input/SolenoidMap1.root  
[INFO   ] PndFieldMap: Reading field map from ROOT file  /Users/spataro/apr13/pandaroot/input/SolenoidMap2.root  
[INFO   ] PndFieldMap: Reading field map from ROOT file  /Users/spataro/apr13/pandaroot/input/SolenoidMap3.root  
[INFO   ] PndFieldMap: Reading field map from ROOT file  /Users/spataro/apr13/pandaroot/input/SolenoidMap4.root  
[INFO   ] -------------- Standard Config is called ------------------------------------ 
Loading Geant3 libraries ...
Loading Geant3 libraries ... finished

 MZSTOR.  ZEBRA table base TAB(0) in /MZCC/ at adr    88041159     53F66C7 HEX

 MZSTOR.  Initialize Store  0  in /GCBANK/
          with Store/Table at absolute adrs    88191925    88041159
                                        HEX     541B3B5     53F66C7
                                        HEX       24B32           0
                              relative adrs      150322           0
          with     1 Str. in     2 Links in   5300 Low words in 4999970 words.
          This store has a fence of   16 words.

 MZLOGL.  Set Log Level 0 for store  0
1*****  GEANT Version  3.21/11 Released on 100298
0*****  Correction Cradle Version  0.1100

 MZDIV.   Initialize Division  Constant  in Store  0
          NW/NWMAX=   20004000000,  MODE/KIND=  1  2
          Division 20 initialized.

 MZLINK.  Initialize Link Area  /GCLINK/  for Store  0 NL/NS=    20    20

 MZLINK.  Initialize Link Area  /GCSLNK/  for Store  0 NL/NS=   100   100
-I- G3Config: Geant3 with TGeo has been created.
SetCuts Macro: Setting Processes..
SetCuts Macro: Setting cuts..
Info in <TGeoManager::SetTopVolume>: Top volume is cave. Master volume is cave
Info in <TGeoNavigator::BuildCache>: --- Maximum geometry depth set to 100
fwendcap & bwendcap flags == 1 / 1
                                               
 ====== EMC 2)::  ConstructASCIIGeometry() === 
 ============================================= 
PndEmcReader: EMC geometry file == /Users/spataro/apr13/pandaroot/geometry/emc_module12.dat
Emc module = 1
******** 
Emc module = 2
******** 
                                               
 ====== EMC::  ConstructRootGeometry() m3a === 
 ============================================= 
File name = /Users/spataro/apr13/pandaroot/geometry/emc_module3_2012_new.root
                                               
 ====== EMC::  ConstructRootGeometry() m4a === 
 ============================================= 
fgeoName3:: /Users/spataro/apr13/pandaroot/geometry/emc_module4_StraightGeo24.4.root
File name Bw1= /Users/spataro/apr13/pandaroot/geometry/emc_module4_StraightGeo24.4.root
                                               
 ====== EMC::  ConstructRootGeometry() m5a === 
 ============================================= 
fgeoName4:: /Users/spataro/apr13/pandaroot/geometry/emc_module5_fsc.root
File name Fsc= /Users/spataro/apr13/pandaroot/geometry/emc_module5_fsc.root
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...
Info in <TGeoManager::CloseGeometry>: Building cache...
Info in <TGeoManager::CountLevels>: max level = 5, max placements = 1496
Info in <TGeoManager::CloseGeometry>: 1833818 nodes/ 761 volume UID's in FAIR geometry
Info in <TGeoManager::CloseGeometry>: ----------------modeler ready----------------

************************************************************
PndEmc::SetSpecialPhysicsCuts():
   using special physics cuts ...
************************************************************
[INFO   ] Initialize Tasks-------------------------- 
 INITIALIZATION *********************
HitProducer has EnergyHitThreshold of 0.000001 GeV and Use_nonuniformity 0
-I- PndEmcHitProducer: Intialization successfull
[INFO   ] Simulation RunID: 1379084142   

 Calculating cross section tables, see gphysi.dat for more information

 Cross section calculation concluded successfully
[INFO   ] Monte carlo Engine Initialisation  with : TGeant3TGeo   
[INFO   ] ***  PndEmcGeoPar written to ROOT file   version: 1  
[INFO   ] ***  PndEmcDigiPar written to ROOT file   version: 1  
[INFO   ] ***  PndEmcDigiNonuniformityPar written to ROOT file   version: 1  
[INFO   ] ***  FairBaseParSet written to ROOT file   version: 1  
[INFO   ] ***  PndMultiFieldPar written to ROOT file   version: 1  
[INFO   ] ***  PndGeoPassivePar written to ROOT file   version: 1  
--------------------------------------------------------------------------------
--------------  actual containers in runtime database  -------------------------
PndEmcGeoPar                                   Emc Geometry Parameters
PndEmcDigiPar                                  Emc Digitalization Parameters
PndEmcDigiNonuniformityPar                     Emc Nonuniformity Parameters
FairBaseParSet                                 class for parameter io
PndMultiFieldPar                               Multiple Field parameter container
PndTransPar                                    Trans. Field parameter container
PndDipole1Par                                  Dipole Field parameter container
PndDipole2Par                                  Dipole Field parameter container
PndSolenoid1Par                                Solenoid 1st region parameter container
PndSolenoid2Par                                Solenoid 2nd region parameter container
PndSolenoid3Par                                Solenoid 3rd region parameter container
PndSolenoid4Par                                Solenoid 4th region parameter container
PndGeoPassivePar                               Passive Geometry Parameters
--------------  runs, versions  ------------------------------------------------
run id
  container                                        1st-inp    2nd-inp    output
run: 1379084142
  PndEmcGeoPar                                  1379084142         -1          1
  PndEmcDigiPar                                          1         -1          1
  PndEmcDigiNonuniformityPar                    1379084142         -1          1
  FairBaseParSet                                1379084142         -1          1
  PndMultiFieldPar                              1379084142         -1          1
  PndTransPar                                   1379084142         -1          0
  PndDipole1Par                                 1379084142         -1          0
  PndDipole2Par                                 1379084142         -1          0
  PndSolenoid1Par                               1379084142         -1          0
  PndSolenoid2Par                               1379084142         -1          0
  PndSolenoid3Par                               1379084142         -1          0
  PndSolenoid4Par                               1379084142         -1          0
  PndGeoPassivePar                              1379084142         -1          1
--------------  input/output  --------------------------------------------------
first Input:
Ascii I/O /Users/spataro/apr13/pandaroot/macro/params/emc.par is open
detector I/Os:  FairGenericParIo
second input: none
output:
OBJ: FairParRootFile	simparams.root	 : 0 at: 0x7fabe99ba3b0
Root file I/O simparams.root is open
detector I/Os:  FairGenericParIo
 **** GTRIGI: IEVENT=      1 IDEVT=      1 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 1) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=      2 IDEVT=      2 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 2) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=      3 IDEVT=      3 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 3) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=      4 IDEVT=      4 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 4) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=      5 IDEVT=      5 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 5) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=      6 IDEVT=      6 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 6) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=      7 IDEVT=      7 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 7) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=      8 IDEVT=      8 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 8) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=      9 IDEVT=      9 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 9) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
 **** GTRIGI: IEVENT=     10 IDEVT=     10 Random Seeds =       4357           0
[INFO   ] FairPrimaryGenerator: (Event 10) 1  primary tracks from vertex (0.000000, 0.000000, 0.000000 ) with beam gradiant (0.000000, 0.000000) Event Time = 0.000000 (ns) 
 POINT EXECUTION *********************
=========================================================
PndEmcHitProducer::FinishTask
*********************************************************
Read points # 6067
Produc hits# 265, threshold# 1e-06
Hits above threshhod#192
*********************************************************
RealTime=8.087632 seconds, CpuTime=5.430000 seconds
(int)52
root [1]


The same with Linux.
In reality before I had commented out PndEmc. This is the reason why I was not seeing such effect from PndEmc but from PndEmcHitProducer.
Re: Time-based EMC simulation [message #15496 is a reply to message #15495] Sat, 14 September 2013 12:10 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Hi Dima,
I did a minimal macro (attached) to see which one produce the error. You can see that it is only the PndEmc constructor... very strange.
And putting some cout inside the PndEmc.cxx, it seems it is the cosntructor call, before the fEmcCollection = new TConesArray("PndEmcPoint"); I removed this line, and I can see still the error.

Toggle Spoiler



I did something simpler, calling the cosnteructor from the root prompt:

spataro@briareos:~/apr13/trunk/macro$ root -l
root [0] PndEmc *pippo1
Error in <TClonesArray::SetClass>: called with a null pointer
root [1] PndEmc *pippo2
root [2] PndEmc *pippo3
root [3] 


The first constructor gives the error, the second not. But I cannot see anything in PndEmc which access to global stuff.
Re: Time-based EMC simulation [message #15501 is a reply to message #15408] Mon, 16 September 2013 11:57 Go to previous messageGo to next message
Dima Melnychuk is currently offline  Dima Melnychuk
Messages: 213
Registered: April 2004
Location: National Centre for Nucle...
first-grade participant
From: *fuw.edu.pl
Hi Stefano,

Since I do not see this error, I cannot check it myself, but can you try in PndEmc constructor
to put
fEmcCollection(0)
(line 59 and line 71)
instead of
fEmcCollection()

Dima
Re: Time-based EMC simulation [message #15506 is a reply to message #15408] Thu, 19 September 2013 10:31 Go to previous messageGo to next message
Jifeng Hu is currently offline  Jifeng Hu
Messages: 31
Registered: October 2012
continuous participant
From: *wlan.uni-giessen.de
this static pointer PndEmcDigi::fDigiArrayTBD; is used in time-based reconstruction as a shared buffer which hold the digis not belong to current event in order to be reused in reconstruction in next event.

if all would like to remove that error message, I agree remove this pointer and use another solution.

By the way, I made no any changes on PndEmc for MC simulation, the results should be completely same as results simulated in previous version when random seeds are same.

[Updated on: Thu, 19 September 2013 10:32]

Report message to a moderator

Re: Time-based EMC simulation [message #15509 is a reply to message #15506] Thu, 19 September 2013 17:25 Go to previous message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
The static object is called once you call the emc library, then the first time you use an emc class (i.e. PndEmc).
Another kind of solution would be preferred, I believe.
Previous Topic: Question in MC simulation
Next Topic: Help
Goto Forum:
  


Current Time: Sat Sep 25 11:26:17 CEST 2021

Total time taken to generate the page: 0.01980 seconds