My DESY Higgs analysis page

Table of Contents

Important links


(login to bastion is only needed of NOT inside DESY network)
ssh -X
ssh -X
Connect to NAF from local DESY machine:

IDEA!First action: set up environmental variables (includes cmsenv)

cd <Project-Dir>
source init.csh

IDEA! Keep init.csh up to date, read mails from experts about changes in architecture.

IDEA! cvs checkouts require for me a

kinit criedl@CERNSPAMNOT.CH
otherwise "GSSAPI authentication failed"

IDEA! For more details about CMSSW_5_2_3 installation, see mail 3.9.2012 with subject "CMSSW_5_2_5_patch3 on NAF"

Working-Dir on NAF


Project-Dir on NAF

  • C++ Code:
  • Root macros:


IDEA! The macro is located in
IDEA! The cfg file is located in
It controls the directory from which correction root files are picked up, and which corrections are (not) applied.

IDEA! Nov. 2011: DesyHTauTau macro for everything. Various sub packages. Initial check out of svn repository:

svn co
Update your working copy: go to src/DesyHTauTau
svn update
svn update tip: see comment at [2011-12-13] Compile:
scramv1 b

Directory on


EE Analysis




Plotting of distributions
.x PlotSM.C("diLepMass","120","","",20,0,0,0)
will read root files from directory Histograms and will produce plots in directory figures.



MuMu Analysis



IDEA! Had only DesyHTauTau directory for compilation

IDEA! CMSSW_4_2_4_patch1 area deleted on Aug 30, 2012 because of limited disk space.


Run HTauTauAnalysisMacro:
cd <Working-Dir>/Run
HTauTauAnalysisMacro WJets DirIso OS
with three parameters p1, p2, p3:
  • p1 is any available file-list string (runlist has no ending)
    • Alexei's official file lists are also in svn.
    • Input Root files are fetched from the latest official directory on NAF, as written in the latest file lists.
  • p2 is DirIso for the signal or InvIso for QCD background
  • p3 is OS (opposite sign) for the signal or SS for QCD background

Output of macro:

  • STRING.root, where STRING = p1.p2.p3 , e.g.
    • Data_DoubleMu_Run2011B_PRV1.DirIso.OS.root
    • ZToMuMu_Pythia_M20to50.DirIso.OS.root
    • ZZ.DirIso.OS.root
  • If file list contains string "Data", program applies no trigger weights. ==> isData tag
  • "emb" = embedded data in order to model bg

Plot result:

.x Plot.C("diLepMassNoLH","120","","",20,0)
or diLepMassNoLH" "nJets30H" "nJets30EtaH" "leadingJetPtH" "leadingJetEtaH"


  • [2012-01-16] set applyDYMCCorr from false to true, rerun ZMuMu Madgraph && Powheg (="Pythia"). Other root files stay the same as Jan 13. Plot diLepMassNoLH.

  • [2012-01-13] Reproduced results of Jan 5

  • [2012-01-09] JES systematic studies. Alexei added corresponding option in cfg file.
    • Extend Plot macro and distinguish between SM and SUSY Higgs (different signal MCs are read)
    • Check put new svn version, in ~/scratch/CMSSW_4_2_4_patch1/src/DesyHTauTau

  • [2011-12-15 until 2011-12-20] Apply RhoCorr to 2011B. Treat lowest bins of RhoNeutral specially. MET distro changes in a good direction, but nJets and pT and eta of leading jet change in the bad direction by this correction. Report in Karlsruhe meeting Dec 20, abandon method of RhoNeutral correction, search for alternative methods of MET correction. In contact with Adrian from Karlsruhe.

  • [2011-12-07] HTauTau2MuonAnalysis/RooT/HTauTauAnalysisMacro.cfg - applyRhoCorr = false / true. Compare the two options. Use HTauTauAnalysisMacro.cpp in the new version (dated Dec 7, 15:18 in my private dir). I do not recompile the package.
    • Run HTauTauAnalysisMacro.cfg with applyRhoCorr = false over all real and MC data. Copy results into directories *-20111207-applyRhoCorrIsFalse
    • Create RhoFunc_Run2011B.root in bins of PV 1...25
    • Hack ~/scratch/CMSSW_4_2_4_patch1/src/DesyHTauTau/HTauTau2MuonAnalysis/RooT/HTauTauAnalysisMacro.cfg
      #baseDir = /afs/
      #CKR 7.12.2011:
      baseDir = /scratch/hh/lustre/cms/user/criedl/MyTestRooT
      applyRhoCorr = True
    • Run modified HTauTauAnalysisMacro.cfg with applyRhoCorr = true over all MC data (real data won't be affected, since it is not reweighted). Copy results into directories *-20111207-applyRhoCorrIsTrue
    • Plot "diLepMassNoLH" "nJets30H" "nJets30EtaH" with and without RhoCorr

  • [2011-12-07] svn update to get version of Nov 22

Rho Neutral correction (December 2011)

.x RhoAll.C(25,25,"25","25")
  • Argument 1 and 2: Control name of picture created in pict/RhoNeutral_25_log(lin).png.
  • Arguments 3 and 4: Control the name of the root file created: RhoFunc_25_25.root
  • Argument 1 should be equal to 3, and 2 equal to 4.
  • [2011-12-06] Read input Root files from subdirectory "Input"
  • [2011-12-06] Print #PV into panel of RhoNeutral histo
  • Histos with RhoNeutral in bins of PV (iPV=1,...) are called rhoPV_iPV_H


  • Weighting is done in separate class: EventWeight in directory interface.
    • Applicable to all packages
    • pile up ==> are centrally provided histos used (Mike Hildreth)?
    • trigger (numbers obtained from tag-and-probe)
    • DCA
    • MET
    • rho (neutral component)
    • recoil correction (measured MET, ==> see 3.11. Htautau meting, P. Harris)
    • numbers for out-of-time pileup for neutral component need to be calculated for 2011B
  • For btagging, use TCHE
  • In order to normalize data and MC to each other, the factor lumi * cross-section / iEvGen is applied (in the macro)
  • The data are separated into two periods - ISOmu17, & (if isomu17 is prescaled) doublemu13, doublemu8. Needed for trigger weight.
  • Inclusive means no matter which production mode
  • Another new class: HtautauUtils

2011 (January - November)

Directory on lxplus: /afs/ => moved to NAF for my analysis.
  • November 21, 2011
  • November 16/17, 2011
    • Introduction to restructured Root macro (everything is merged now into one macro)
  • June 7, 2011
    • Update of HTauTau analysis: cp /afs/ into project area
    • Run on experimental data and MC (POWHEG)
    • Extensive log: see mails with subject "Session with Alexei 7.6.2011"
  • May 5, 2011
    • Switch to CMSSW_4_1_3
    • Working directory HTauTau
    • Install semi-official Tau Analysis & DesyHTauTau
    • Macros H(Z)TauTauAnalysisMacro + 3 options
    • MC is still from March 2011, contains pile-up, but does not resemble data. Side remark: MC contains misali info!
  • January 20, 2011
    • Basic intro to CMS analysis
    • Tutorial code in CMSSW_3_8_5
      • mkdir Tutorial (Root macros in directory "macros")
      • Create class "Demo" via mkedanlzr
      • Write some test code: "Tutorial/Demo/src/"
      • Compile code (in directory src) via "scramv1 b" (b=build) Before, specify in "Tutorial/Demo/BuildFile" used packages
      • Configuration file == steering card needed to run job. Language: python "Tutorial/Demo/test/"
      • Run job: "cmsrun $config_file" , where config_file = full path of python script. This command can be started from any directory, but the full path of the py script needs to be given.

Very Basics

Project area
scramv1 project CMSSW CMSSW_$VERSION
creates directory CMSSW_$VERSION . The latest version as of Nov 17, 2011 is e.g. 4_2_4 .
which will set up the environment variables; check by
scramv1 b
  • Root macros MyMacro.cpp are stored in the CMSSW_$VERSION/bin directory. CMSSW knows that such files should be treated as executables.
  • Histograms are produced in the working directory.
root -l filename.root
TFile *_file0 = TFile::Open("filename.root")
  • or run macro:
.x File.C
  • var1->Draw();
  • var2->Draw("same");
  • TF1: 1dim function. Change color: myfunc->SetLineColor(2)
  • .q
  • merge root files: hadd output.root input1.root input2.root ....
  • Copy histo1 to histo2:
TH1F * histo1 = (TH1F*)file->Get(histo1Name);
TH1F *histo2 = (TH1F*)histo1->Clone();


  • Which machines on the NAF are available?
  • Log in to NAF by the command ./naf_setup.csh
CMS environment if
You are trying to build/setup tools for SCRAM_ARCH slc5_amd64_gcc434.
while your project area is currently setup for following SCRAM_ARCH(s): slc5_ia32_gcc434
Please make sure your SCRAM_ARCH environment variable is correct.
setenv SCRAM_ARCH slc5_ia32_gcc434

Renewing GRID certificate

openssl pkcs12 -clcerts -nokeys -in usercert.p12 -out usercert.pem
openssl pkcs12 -nocerts -in usercert.p12 -out userkey.pem
  • Both usercert.pem and userkey.pem should end up in .globus
  • Do not forget:
chmod 400 userkey.pem

CMS svn

mkdir AN11-140

svn co -N svn+ssh:// AN11-140
cd AN11-140

svn update utils
svn update -N notes
svn update notes/AN-11-140
eval `./notes/tdr runtime -csh`
cd notes/AN-11-140/trunk
tdr --style=an b AN-11-140

and then use tex file in notes/AN-11-140/trunk.

-- CarolineRiedl - 17-Nov-2011

Edit | Attach | Watch | Print version | History: r44 < r43 < r42 < r41 < r40 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r44 - 2012-11-08 - CarolineRiedl
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox 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