computing stuffs

 

cvs co mgr/cons
cvs co mgr/ConsDefs.pm
cvs co mgr/Conscript-standard
  • TMemStat :
after triplet b: memory used: 1810.7
29      events processed so far
 # of curr candidates = 5000
 # of tot candidates = 146144
31      events processed so far
 # of curr candidates = 5000
 # of tot candidates = 158702
33      events processed so far
after reading b: memory used: 2014.63
after triplet b: memory used: 2014.63
 # of curr candidates = 5000
 # of tot candidates = 163718
 # of curr candidates = 5000
 # of tot candidates = 170428
35      events processed so far
after reading b: memory used: -2048.18
after triplet b: memory used: -2048.18
Error: Symbol G__exception is not defined in current scope  (tmpfile):1:
Error: type G__exception not defined FILE:(tmpfile) LINE:1
(void)0
*** Interpreter error recovered ***
root4star [4] .q

This is the end of ROOT -- Goodbye

--> negative memory allocated

--> decreasing the size of the tuple (# branches and the size of arrays)

after reading b: memory used: -1459.88
after triplet b: memory used: -1459.88
after triplet b: memory used: -1459.88
after triplet b: memory used: -1459.88
after triplet b: memory used: -1459.88
after triplet b: memory used: -1459.88
after triplet b: memory used: -1459.87
49      events processed so far
 # of curr candidates = 5000
 # of tot candidates = 225948
root4star [4] 

--> still negative memory allocated but no more crash (and the memory goes back to 0)
--> to use memory stat :

  1. in the includes : #include "TMemStat.h"
  2. at the beginning of your code ( generally before a loop ) : StMemStat mem;
  3. to display : std::cout << " current memory : "<< mem.Used() << std::endl;
  • GDB
to run GDB with a BFC chain already setup :
  1. at the prompt : root4star gdb
  2. run myMacro.C
where myMacro.C looks like (for example) :
.x StRoot/macros/bfc.C(1,10,"y2013,AgML,ITTF,Sti,tpcI,TpcFastSim,pxlFastSim,-ssdfast,VFMCE,McEvent,geant,IdTruth
,fzin,StiRnd,PixelIT,-IstIT,NoSvtIt,NoSsdIt,StiPulls,analysis,tags,clearmem,evout,McEvOut,
MiniMcMk,McAna,MakeEvent","debug.fz") 

## how to commit ## 
1. cvs add offline/hft/StRoot/yourMaker
2. cvs add offline/hft/StRoot/yourMaker/*.* (each file)
3. cvs commit offline/hft/StRoot/yourMaker


## if maker does not exist in the branch ##
1) mkdir offline/hft/StRoot/StSsdDbMaker
2) cvs add offline/hft/StRoot/StSsdDbMaker // this adds the maker in the StRoot branch
3) copy code
4) cvs add offline/hft/StRoot/StSsdDbMaker/*.* (each file)
5) cvs commit offline/hft/StRoot/StSsdDbMaker