DØ Trigger Simulator Manual
Frequently asked questions
(FAQ)

Hopefully this section will be a guide to solving some of the most common problems experienced while trying to run TrigSim.


Q: Why does TrigSim crash when running on events that have been reco-ed?
A: TrigSim will usually crash on reco-ed data coming from the online machines because the default there is to not keep the raw data chunk (RDC). Please note that this is also the default when you run it yourself...no RDC! TrigSim needs this RDC to run properly. Try reco-ing the raw events yourself, setting reco to keep the RDC. Alternatively you can just run TrigSim on the raw events.

Q: What is the difference between a framework rcp and a regular rcp?
A: Framework rcp's are files that control how programs run. They tell the program which parts of the input data to look at, what routines to perform on it, what kind of output to produce, etc. Regular rcp's contain parameters that the program can plug into the code, and includes everything that is stored in a common database. Framework rcp files include statements like 'string Packages = "hist geo read ntpl run_config mag unpack"', while regular rcp files include statements like 'int debug_level = 0'.

Q: How do I use a custom level*.sim* file with runD0TrigSim?
A: Create a directory trigsim in your working directory. Place copies of any *.sim* files you want TrigSim to use in there. As one of it's last initialization steps, TrigSim overwrites its default *.sim* files with any it finds in the trigsim directory. No additional command line options are needed.

Q: When I run TrigSim, I see a message like "cp: cannot stat < path>/trigsim/*". Is this a problem?
A: No this is not a problem. It's a hiccup in the way TrigSim loads its files that we haven't gotten around to fixing yet. It can be ignored.

Q: Can I combine the command line options -localrcp and -localfwkrcp?
A: Yes, you can combine them. In fact, when in doubt it is probably best to try using both first.

Q: Is the -localfwkrcp flag supposed to be used when I run runD0TrigSim or runTrigAnalyze?
A: It depends on what framework rcp files you have modified. If you have made changes to any of the files in d0trigsim/rcp, then you need to use -localfwkrcp with runD0TrigSim. If you have made changes to any of the file in trigsim_analyze/rcp, then you need to use -localfwkrcp with runTrigAnalyze. If both have been modified, then you need to use it with both executables.

Q: I would like to get more information out of package blah. How might I do that?
A: You can try turning on (or turning up) package blah's debug information. Switches to do so could be in several places. The first place to look would be in the package rcp files. The level 1 and level 2 trigger simulator rcp's, for example, are in the tsim_l1l2 package in the rcp directory. Look for variables like "bool debug_info" or "int debug". Bool's can just be switched from false to true. The general rule for int's is the greater the value, the greater the amount of output, with 0 being silent. Once you've changed an rcp value, you need to add -localrcp or -localfwkrcp to your command line to make sure it is picked up.
Sometimes a debug switch is set within the code itself inside the "Init" or "MakeMe" routine. In this case, you would need to change the value, recompile, and then add the -localbuild command line option.

Q: I am running over Monte Carlo events and want to have the MC information in the output, but I tried running the default runTrigAnalyze and the information is not there. What do I need to do?
A: In some releases the MC information package was acting up and it was removed from the default TrigAnalyze chain. You can try to put it back in. To do so:

If you get a crash that points at mc_analyze, try checking out a later tag number of that package and recompiling.

Q: I want to have the (level N trigger bit / run number / event number) information in my output, but I tried running the default runTrigAnalyze and the information is not there. What do I need to do?
A: In some releases the "event information" package was acting up and it was removed from the default TrigAnalyze chain. You can try to put it back in. To do so:

If you get a crash that points at event_info, try checking out a later tag number of that package and recompiling.

Q: How do I tell what version/tag of a package I've checked out?
A: The tag number of a package is checked out with a package. It is given in the text file called "Tag" in the package's "CVS" directory. Ignore the first letter in the string given in the Tag file. It corresponds to the status of the package when it was checked out and is not part of the tag number itself. For example, if you see something like "Np15-02-00", the tag number is actually "p15-02-00".

Q: I'm trying to use a version 12 trigger list (in .xml form) and p15 TrigSim, but it's crashing on the impact parameter (IP) triggers or giving me COOR errors. What's wrong?
A: When TrigSim translates a .xml triggerlist into the *.sim files it needs (using "coorsim"), some values are extracted from the COOR name server. If COOR is not set up correctly, this can cause problems. IP triggers are known to have such problems. To get around this, you need to execute the coorsim command yourself before running TrigSim. Create a file in your working area called l3ns.cmd. Edit the file to read:

     ns set l3_beam_pos.x 0.0
     ns set l3_beam_pos.y 0.0
     ns set l3_beam_pos.yz 0.0
     ns set l3_beam_pos.xz 0.0
     load triggerlist_file_name
     start

where triggerlist_file_name is replaced with the name of the triggerlist file you wish to use, minus the .xml. Issue the command coorsim triglist-name.xml l3ns.cmd. The triglist... parameter is really ignored; it is the "load" command in the l3ns.cmd file that is really what is needed. Copy or move the files that get produced into your trigsim subdirectory. You should then be able to continue to execute TrigSim as usual without any additional command line options required.

Q: My D0TrigSim_x.out file is full of lines that say "SMTChannel::SMTChannel - Cannot translate to offline address". This is annoying and/or crashing my jobs. How can I turn it off?
A: This message is a result of running a version of l2stt_util that cannot handle data as an input. There are several options:

Q: My TrigSimAnalyze job crashed with a message about a HepTuple name being too long. What do I do now?
A: Chances are you are trying to run a muon central matching tool with the name "MUO_CENTRAL_MATCH" (look in your toollist file). If this is the case, there is a hack-fix in l3fanalyze v00-02-38.
You can either check out this tag, recompile, and run with -localbuild, or you can look at the code added in l3fanalyze/src/L3MuoCentralMatchDebugInfoExaminer.cpp and add it to your own code.

Q: My TrigSim job crashed at the end of a job while deleting filters. The output looks OK though. It is OK?
A: TrigSim most probably crashed in this case due to a filter trying to delete a tool instance more than once during the clean-up phase of the program exit. This bug is being worked on. Even with this crash, all output is perfectly OK and safe to use.

Q: I'm trying to use my own .sim files, but TrigSim is not picking them up. What's wrong?
A: Are your .sim files in a directory called "trigsim" in your working area? If not, create the directory and put a copy of your .sim files in it. If so, are you using the -name command line option to redirect your output? Please see the -name warning.

Q: Can I use TrigSim and p16?
A: Well, yes and no. p16 is not a production release for TrigSim. It might be a good release for L3 (use the -l3only option) but it's not clear how well all three levels run together in p16. If you have to run all three levels make sure you switch off the STT part (The STT simulation was never guaranteed to work in the p16 release of TrigSim.) since it will crash TrigSim:

In case, you'd like to run on MC, make similar changes in the 'tsim_l1l2/rcp/tsim.rcp' file.

Q: Why does TrigSim crash when I run on DST output?
A: TrigSim crashes when trying to create the thumbnail. The problem is that during the creation of the thumbnail one needs the full blown up CPS chunks. These are not available when running on the DST, because in the DST one stores the compressed CPS information which is also in the thumbnail. The full blown up CPS chunks are not recreated on the fly....
In any case if one wants to run trigsim on the DST one first needs to create the DST, so one may also change the RCP for CPSReco in addition to those for D0reco.
The list of changes to be done before running D0reco is the following:
In the d0reco/rcp/reco_write_data.rcp file one needs to enable writing out the DST, by changing the string Packages line, removing the execution of rdcdistill and uncommenting the RCP writedst line. These two lines should like like as follows:
string Packages = "tmb tagspecial dump writemonitor writedst tagtmb writetmb"
RCP writedst = //Write DST file

In addition one needs to change one line in the cps_reco/rcp/CPSReco.rcp file:

bool DEACTIVATE_CLUS_COMPRESS = true // ClusterChunk default is compress
(the default is false, it should be changed to true).

(Thanks to Marco for pointing out the problem and providing us with a work around!)

Q: I get the following error message: ImportError: No module named dcoracle mv: cannot stat `beamspot_l2stt.dat': No such file or directory What's going on?
A: Please do a 'setup python_dcoracle' before you run TrigSim.

Q: How do I change the CTT track equations?
A: Do a 'setup dfea_equations prod8' for all runs up to 202777. The data taking period starting with run 202778 needs a 'setup dfea_equations prod12'. The default behavior (setup dfea_equations) points to the prod12 equations.

Q: When I tried to run TrigSim (or TrigAnalyze) it crashed and I have no idea what is wrong. What do I do now?
A: Please do all of the following steps:


Next section: Glossary Previous section: Examples Back to Table of contents
Updated: Jun. 08, 2005
bellavan@fnal.gov
carsten@fnal.gov