Troubleshooting and Common Mistakes!
Compiling
- Can't compile your module, and the error messages don't make it clear where the problem is : Did you remember to call base class constructor from your module constructor?
- Despite all apparent correct syntax and headers, the compiler claims a class isn't defined: Have your forgotten to specify the namespace of the class, either explicitly or with "using namespace <name>"?
- Note: if you have tried to declare this class "const", you might get an more oblique error like "expected primary expression" or some semicolon nonsense.
Loading Libraries
- You get a failure to load a dynamic library, with a complaint like undefined symbol: _ZTIN8photrans12PhotonSignalE. To get a more readable version of the undefined symbol, demangle the symbol from the linux command prompt:
>c++filt _ZTIN8photrans12PhotonSignalE
typeinfo for photrans::PhotonSignal
Job Flow
- Event record is not saved after module returns : Forgot to return jobc::kPassed from Reco or Ana method?
- Your configuration isn't getting picked up when your module is instantiated :
- In the call to the base class constructor from your module constructor, is your module name specified correctly as the string argument?
- Do you set this->SetCfgVersion(version); in your constructor?
Miscellaneous
- Monte Carlo job crashes due to null pointer in Geometry navigation, despite valid Geometry : This seems to arise when one tries to run NOVAMC and PhotonTransport/ReadoutSim in the same job. Try breaking it up into two jobs, breaking after NOVAMC, and there's a chance your problem will go away.