This is a long shot, relax and have patience :)

Here I assume that you have already set up your favorite CMSSW release and set up CMS2.

Prepare root ntuples:

  • The ME code is set up so that it takes flat root ntuples (babies) with event kinematics as an input, performs all event probability calculations and then outputs new file which is a clone of the original + an extra branch containing ME values.

  • These babies are created from CMS2 ntuples using a piece of code which also applies event selection. Right now the amount of information stored in the babies is limited to what is needed for ME calculations. One could in principle expand. The code can be found on UCSD cluster in:

CMS2/NtupleMacros/WW/sergo

files you need are: branches.h TBitSet .cc TBitSet .hh doAll.C

  • You will also need to create two soft links, one pointing to the ntuple location "data" and one pointing to "CORE"

  • To produce one baby for say Wjets process, run:
         root -l doAll.C\(\"Wjets\"\)   
        
    this should create a file Wjets_skimmednTuple.root with events passing selection criteria.

* Proceed with other samples for data, backgrounds and signal. In the end you should have one ntuple file per process.

Preparation of MCFM libraries:

* Start by downloading the MCFM package, under SL5 current release is 5.8

      wget http://mcfm.fnal.gov/mcfm-5.8.tar.gz
      tar zxf tarballname.tgz
      cd MCFM
      ./Install
     

  • now you need to modify compiler flags a bit (needed for 32 bit objects, not for 64), open makefile and make sure that the flags are: FFLAGS = -fno-automatic -fno-f2c -O0 -g -fPIC -m32 -march=i686 -I$(INCPATH)
  • Compile:
       
          make
          cd obj
         
  • Create shared library by running
         g++ -Wl,-soname,libmcfm.so -m32 -march=i686 -shared -o libmcfm.so *.o -L /home/cdfsoft/products/cern/2004/Linux+2.4-2.3.2/lib (replace with your path)
        
  • You must end up with a library libmcfm.so, which contains all mcfm functions, you can load it and call these functions from your code.

Producing ME ntuples:

* Create subfolder called "ME" and copy there everything from /home/users/sergo/WWtest/CMSSW_3_8_6/src/CMS2/NtupleMacros/WW/sergo/ME/MEcode4cvs * Compile by running gmake, this will create libME.so. * Ok, you are pretty much done, now do:
     root -l
     .x runME_v1.C("../Wjets_skimmednTuple.root",10,3,50000,1.0,0)
     
The arguments are:
    1 - input file
    2 - random seed
    3 - smearing level, not used now
    4 - number of steps in the integration
    5 - error threshold
    6 - Mass, if 0 - calculate for all processes and Higgs mass hypothesis
     

-- SergoJindariani - 04 Jan 2011

Edit | Attach | Print version | History: r16 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 18 Jan 2011 - 13:15:46 - SergoJindariani

tip TWiki Tip of the Day
Keyword search
Interactive search is a keyword search by default. For example, to search for all topics that contain ... Read on Read more

 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback