ATLASWatchMan FAQ - Frequently Asked Questions

Here you can find a collection of answers to questions asked by users about the ATLASWatchMan package.

You can find answers about the code, the usage and how to read the output D3PD.

Q: When I try accessing the output D3PD with Python (PyROOT), my script crashes with an error like this: "SystemError: problem in C++; program state has been reset", at the point when I get the entries from the TTree with "TTree.GetEntry()" command.

  • A: Here. You should import the ATLASWatchMan.Bindings module in the right order, after the ROOT module.

Q: In my Steering File I defined two channels which are orthogonal with respect to each other. How can a single electron be marked in the same time for channel "3j1lepMediumCutsMTSmaller100GeV" and "3j1lepMediumCutsMTBigger100GeV"? The MT is calculated and it cannot be in the same time smaller than 100 GeV and greater than 100 GeV. I thought that MT is unique for one event...

  • A: Here. Discussing Object Selection and Overlap Removal cuts and how the particles and events are flagged.

Q: When I run the generation of the analysis code, I get this error:

     File "/afs/", line 14, in _installBindings
     File "/afs/", line 58, in loadDictionary
     sc = libPyROOT.gSystem.Load(name)
    RuntimeError: (file "/afs/", line 1) 
    Failed to load Dynamic link library

  • A: It's an error due to a wrong setup of your ATLAS Athena environment. Explanations here

Q: I saw that the branches of the output D3PD are of the type vector or vector<vector> and so on. How can I know the right type for the branches?

  • A: Here. Explaining how to know the type of the branches stored in the output D3PD.

Q: Is there overlap removal and object selection applied for the default channel ("999" or "DEFAULT")?

  • A: Here. Explaining how object selection and overlap removal are applied for "999" and "DEFAULT" flags.

Q: I defined an "userD3PDBranchesToFill" branch as "meff". While looping over the meff values and channels I got following output:

here the source code:
for (Int_t iMeff=0; iMeff< meff4jValues->size(); ++iMeff) {
    cout << "\n\nMeff= " << meff4jValues->at(iMeff) << endl;
    for (Int_t iCh=0; iCh< meff4jChannels->at(iMeff).size(); ++iCh) {
      cout << " " << meff4jChannels->at(iMeff).at(iCh) << endl;

Here is the output:

Meff= 693016

  • A: Here. Explaining how to read the " Values " and " Channels " branches stored in the output D3PD.

-- RiccardoMariaBianchi - 24 Feb 2009 -- RiccardoMariaBianchi - 24 Jul 2009
Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r7 - 2009-10-23 - RiccardoMariaBianchi
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback