e+jets Analysis in ROOT



Introduction

This analysis code is part of the d0root_analysis CVS ROOT-package. This package reads an input root tree and transform its content in a set of physics-objects with a large number of methods for physics analysis. In addition, it provides several algorithms for analysis.

Currently, these are the available algorithms:

b-tagging and vertexing

( d0root_analysis and d0root_btag packages)

Track-Jets ( d0root_analysis)

Missing Et Significance

( d0root_met package)

Topological Variables

( d0root_analysis package)

e+jet Background estimator

( d0root_top) package

Random Grid Search

( d0root_top package)

The d0root_top package reads the input data and generates a TOP-tuple containing the following information:

   Int_t           PV_npv;            // Number of primary vertices
   Float_t         PV_x[15];          // Primary vertex x position 
   Float_t         PV_y[15];
   Float_t         PV_z[15];
   Int_t           PV_ntrk[15];       // Primary vertex multiplicity
   Float_t         PV_sumPT[15];      // Primary vertex sum(pt)
   Float_t         PV_sumLogPT[15];   // Primary vertex sum(log(pt))
   Float_t         PV_highestPT[15];  // Primary vertex highest pT track
   Float_t         PV_hptISO[15];     // highest isolated track pt
   Float_t         PV_prob[15];       // minimum bias probability

   Int_t           EM_nem;            // Number of EM objects
   Float_t         EM_px[2];          // EM x momentum
   Float_t         EM_py[2];
   Float_t         EM_pz[2];
   Float_t         EM_E[2];
   Float_t         EM_pt[2];
   Float_t         EM_deta[2];        // EM detector eta
   Float_t         EM_eta[2];
   Float_t         EM_phi[2];
   Float_t         EM_z[2];
   Float_t         EM_q[2];           // EM charge
   Float_t         EM_emf[2];      
   Float_t         EM_iso[2];
   Float_t         EM_hm8[2];
   Float_t         EM_ch2[2];
   Int_t           EM_quality[2];     // EM quality: 1=loose, 2=tight

   Int_t           TAGJET_njet;      // number of jets
   Int_t           TAGJET_ngoodjet;  // good jets
   Float_t         TAGJET_px[10];
   Float_t         TAGJET_py[10];
   Float_t         TAGJET_pz[10];
   Float_t         TAGJET_E[10];
   Float_t         TAGJET_pt[10];    //corrected pt
   Float_t         TAGJET_upt[10];   //uncorrected pt
   Float_t         TAGJET_deta[10];
   Float_t         TAGJET_eta[10];
   Float_t         TAGJET_phi[10];
   Float_t         TAGJET_EMF[10];
   Float_t         TAGJET_CHF[10];
   Float_t         TAGJET_HF[10];
   Int_t           TAGJET_n90[10];
   Float_t         TAGJET_f90[10];
   Int_t           TAGJET_quality[10];
   Int_t           TAGJET_ntjets[10];    //number of track-jets within Dr<0.5
   Float_t         TAGJET_tz[10][2];   
   Float_t         TAGJET_tpx[10][2];    //track-jet momentum
   Float_t         TAGJET_tpy[10][2];
   Float_t         TAGJET_tpz[10][2];
   Float_t         TAGJET_tq05[10][2];   //track-jet charge (kappa=0.5)
   Float_t         TAGJET_tq10[10][2]; 
   Float_t         TAGJET_thpt[10][2];
   Float_t         TAGJET_tsumpt[10][2];
   Float_t         TAGJET_tdr[10][2];    //DR(trk-jet, cal-jet)
   Int_t           TAGJET_tmult[10][2];  //track-jet multiplicity 
   Int_t           TAGJET_nvtx[10];      //number of secondary vertices.
   Float_t         TAGJET_vtxdcyl[10][5]; //vtx decay length
   Float_t         TAGJET_vtxdcyls[10][5]; //vtx decay length significance
   Float_t         TAGJET_vtxmass[10][5];
   Float_t         TAGJET_vtxchi2[10][5];
   Int_t           TAGJET_vtxmult[10][5];
   Float_t         TAGJET_vtxcoll[10][5]; 
   Float_t         TAGJET_vtxq[10][5];
   Float_t         TAGJET_vtxdr[10][5];   //DR(vtx,jet)
   Int_t           TAGJET_vtxmuon[10][5];
   Int_t           TAGJET_vtxKS[10][5];   //is Kshort?
   Float_t         TAGJET_vtxpt1[10][5];  //highest pt track in vtx.
   Float_t         TAGJET_vtxpt2[10][5];
   Int_t           TAGJET_vtxsmt2[10][5];
   Int_t           TAGJET_vtxsmt3[10][5];
   Int_t           TAGJET_vtxsmt4[10][5];
   Float_t         TAGJET_mudr[10];       //muon within DR<0.7
   Float_t         TAGJET_mudphi[10];
   Float_t         TAGJET_mudca[10];      //muon impact parameter
   Float_t         TAGJET_mudcas[10];
   Float_t         TAGJET_muptrel[10];    
   Float_t         TAGJET_mupt[10];
   Float_t         TAGJET_muq[10];       //muon charge

   Float_t         EVT_sigma;        // Sigma of missing Et significance
   Float_t         EVT_L;            // Missing Et significance
   Float_t         EVT_mex;          // Missing Ex
   Float_t         EVT_mey;
   Float_t         EVT_met;
   Float_t         EVT_set;          // Scalar Et
   Float_t         EVT_uex;          // Unclustered Ex
   Float_t         EVT_uey;
   Float_t         EVT_uet;
   Float_t         EVT_uset; 
   Float_t         EVT_wmass;        // W mass
   Int_t           EVT_njets;       
   Float_t         EVT_Ht;           // Ht
   Float_t         EVT_A;            // Aplanarity
   Float_t         EVT_S;            // Sphericity
   Int_t           EVT_ntrk;         // Number of tracks 
   Int_t           EVT_runnum;
   Int_t           EVT_evtnum;

   Int_t           TRIGGER_t2JT_LO;
   Int_t           TRIGGER_tJT_25TT;
   Int_t           TRIGGER_tJT_45TT;
   Int_t           TRIGGER_tJT_65TT;
   Int_t           TRIGGER_tJT_95TT;
   Int_t           TRIGGER_tJT_125TT;
   Int_t           TRIGGER_t3CJT7;
   Int_t           TRIGGER_top;
   Int_t           TRIGGER_diem;
   Int_t           TRIGGER_muon;
   Int_t           TRIGGER_L3names[8192];
   Int_t           TRIGGER_L3bits[256];
   Int_t           TRIGGER_L3MarkPass[256];
As an example, to plot the sphericity of events with 3 or more jets, 1 good electron with track-match and missing Et significance greater than 2, we can do:
tree->Draw("S","njets>=3 && EM.quality[0]>=2 && EM.ch2[0]>0.01 && L>2")

There are several more ntuple blocks defined in BrachDefs class in d0root_analysis/util/ directory such as MUON, TRACK, KS, JPSI, BPSIK, etc.

More information can be found in the following links:


Instructions

Create release area
newrel -t pXX.XX.XX mydir
cd mydir
d0setwa


//Install packages
//----------------------------------
addpkg d0root_analysis v00-05-11
addpkg d0root_btag v00-05-08
addpkg d0root_met v00-05-06
addpkg d0root_top v00-05-04
addpkg em_util v00-02-54
addpkg -h kinem_util

emacs em_util/src/EMcandidate.cpp and modify line 35 so that it looks like:
static bool BRANCHES_NEVER_CHANGE=false;


//Compile em_util package
//----------------------------------
gmake em_util.all


//Compile d0root packages
//----------------------------------
gmake d0root_analysis.all
gmake d0root_btag.all
gmake d0root_met.all
gmake d0root_top.all

//Create link to em_util package
//----------------------------------
cd d0root_btag
ln -s ../em_util em_util
cd ../
cd d0root_met
ln -s ../em_util em_util
cd ../
cd d0root_top
ln -s ../em_util em_util
cd ../

Run analysis code
cd d0root_top
root runAnalysis.C


Last updated: 01-08-2002
Ariel Schwartzman