manTree SFrame GRL instructions


To make this work, first copy the entire, checked-out version of the GoodRunsLists package to your testarea. You can copy the package directly from SVN, by doing (replace XX-XX-XX with the tag you want): svn co svn+ssh:// is trunk)

For stand-alone compilation needed for SFrame, do:

cd GoodRunsLists/cmt
make -f Makefile.Standalone

This generates the shared library: GoodRunsLists/StandAlone/

Now copy the package to your SFrame library folder, and make a soft link of library to your SFrame library folder

cp -r $Testarea/DataQulity/GoodRunsLists/ $SFRAME_DIR
ln -s $SFRAME_DIR/GoodRunsLists/StandAlone/ $SFRAME_DIR/lib

Example: Adding GRL to SFrame analysis code

This example is for Single electron challenge and so assumes you have set up SFrame and manTree according to these instructions as well as topSel.

GRL Location at manchester

To find GRL look in directory :
This GRL for top channel for periods A-H. If you need a GRL to that is not in /afs/ then following instrictions for generating GRLs.

Generating GRL

For full instructions instructions and[here]].

To use the GRL generator click here. There are four flags to set:

After setting these flags click submit and the GRL will be downloaded to your personal computer.

To work in SFrame add GRL to config directory (SFrame package)/config/ and follow instructions below.

XML File

Add the library to the config XML file topSel/config/TopSingleEle_config.xml
<JobConfiguration JobName="TopSingleEleJob" OutputLevel="INFO">
  <Library Name="libGoodRunsLists"/>

Source Code

To initialize:

void TopESel::BeginCycle() throw(SError) {
  bool check = m_grl_reader.Interpret();
  if(!check) {
    m_logger << WARNING << "Problem in GRL reader" << SLogger::endmsg;
  } else {
    m_logger << INFO << "GRL Reader Interpret() returned true" << SLogger::endmsg;
  m_grl = m_grl_reader.GetMergedGoodRunsList();
  m_logger << INFO << "Initialized GRL " << m_grl.GetSuggestedName().Data() << SLogger::endmsg;

In ExecuteCycle:

Call m_grl and ask if event is in the GRL by passing Run Number & LumiBlock:

i.e bool result = m_grl.HasRunLumiBlock( m_evinfo->RunNumber(), m_evinfo->LumiBlock() );


Add following
#include "GoodRunsLists/TGoodRunsListReader.h"
#include "GoodRunsLists/TGoodRunsList.h"

/// GRL
Root::TGoodRunsListReader m_grl_reader;
Root::TGoodRunsList m_grl;



-- JohnAlmond - 27-Oct-2010

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2010-11-16 - JohnAlmond
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Atlas All webs login

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