(home)

Macro Options

There are many options that can go into macros. We, the simulations group at A&M, generally do not create entire macros ourselves, but shown here are some of the options that we may have to modify.
See the ROOT notes at the bottom of the page if you're trying to find a previously-run macro.

Macro Lines

(Be sure to check the Confluence Pages for more full documentation—e.g. here or here.)

Shown here are several lines that may be of interest to you when using SuperSim macros but aren't immediately transparent as to their usage.


Macro line Notes
/CDMS/writeData true
/CDMS/writeTrees true
These will set which output files to write out. "writeData" determines if a text file will be written and writeTrees sets the ROOT file. You can write out both at the same time.
/CDMS/writePrimaries false
Setting this to true will both cause an additional text file with primary information to be output and also make this information be included in the ROOT file, if it is being written.
/CDMS/Source calib
This line will change depending on the element you're studying. Ba and Cf are calibration sources while for Ge and Pb you would change this to contaminant
/CDMS/CalibSource/Pipe cryo
For the Ba and Cf calibration sources, there are two places they could be simulated: cryo ("CStem") and vacuum ("EStem"). These refer to where the calibration sources were placed in the Soudan experiment.
/CDMS/writeEmptyEvents false
If you are using ROOT files, this will suppress output of events that do not interact with the detectors. Setting this to true will make the ROOT output include information for all particles emitted from your source (in trees like 'mcPrimary' or 'mcevent') even if they don't hit anything. Note that this will probably make your files significantly larger.
/CDMS/writeEmptyHits false
If this is set to 'true', all detectors will have mczip# records created in the ROOT files, even if they have no hits—in which case the "Empty" branch will be set to -999 or 1 (0 means 'not empty'). Setting it to 'false' only creates mczip# trees for detectors with hits.
/CDMS/updateGeom
You shouldn't need to change this line itself, but it should pretty much always be one of the last few lines in the macro before /run/beamOn; this is what makes all the geometry and other configuration lines take effect.
/run/setRunID {ARG1}
These macros can take arguments! The run ID is usually the last field of the filename that gets written and if you are running many simulations, it may be helpful to set the IDs so you don't end up with dozens of files that all end in "_0000.txt"

Quick ROOT Notes

ROOT files are more complicated than text files, but they contain more information. In particular, the ROOT output of SuperSim contains the full macro used in the simulation. So, should you lose track of the original macro, you can see it again like this:

root -b -I file.root                 //starts root with 'file'
.ls                                  //see what's there, like your shell's 'ls'
G4SettingsInfoDir->cd()              //navigate to G4SettingsInfoDir directory
SuperSim_Macro->Print()              //display the TMacro "SuperSim_Macro"
!.{command}                        //shell commands, e.g. .!pwd
{some object}->{TAB}             //see methods available to the object
.q                                   //quit ROOT

See this document or CERN's main ROOT page for more information.