19
Axel Naumann, D Axel Naumann, DØ University of Nijmegen, University of Nijmegen, The Netherlands The Netherlands 6/20/2001 6/20/2001 Dutch Morning Meeting Dutch Morning Meeting 1 From n-Tuples to b-Tags ?

From n-Tuples to b-Tags

  • Upload
    bowie

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

From n-Tuples to b-Tags. ?. P. Track. P. Jet. Next goal: Boosted Sphericity. Boost. b meson. Detector at rest. b meson at rest. Axel Naumann, D Ø University of Nijmegen, The Netherlands. Next goal: Boosted Sphericity. Boost = f (meson mass) - PowerPoint PPT Presentation

Citation preview

Page 1: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 11

From n-Tuples

tob-Tags

?

Page 2: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 22

Next goal: Boosted Sphericity

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

PJet

PTrackb meson

Boost

Detector at rest b meson at rest

Page 3: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 33

Next goal: Boosted Sphericity

Boost = f(meson mass)Define asymmetry A where A=f(boost)=f(meson

mass) as

with i running over all tracks

Use as new cut parameter

yxk i

i

ki

ki

p

pA

,

2

lightb

lightb

AA

AA

Page 4: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 44

DataData used to check feasibility of parameters:• 2000 events QCD• 2000 events inclusive b b-bar0 min bias, jet Pt>10GeV2 as for now I need

(reco’ed) jets only,generated with Onne’s and Pythia’s help

Ran the whole chain until d0recoanalyze p08-10

Using SEED to analyze d0recoanalyze output n-tuple

Page 5: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 55

SEED (formerly known as D0nau)

Loads of changes since last talk, mainly• renamed to SEED,• documentation on the web:

http://www-d0.fnal.gov/nikhef• based on ROOT’s TTree: Much faster, able to

handle huge amounts of data• easier to use interfaces• new cvs packages seed and seed_framework• might be added as standard ROOT package• BUT: Still tested only under Windows• ROOT benefits a lot: found about 0.5 ROOT

bugs/day…

Page 6: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 66

SEED – ProblemsMainly due to ROOT:• Only few ROOT users use Windows, many bug

don’t exist in Windows• ROOT still under development, severe changes

producing severe bugs, but incredibly helpful development team!

Efforts to get it under control:• Send a bug report every 2nd day• Finally able to compile (and debug) ROOT for

Windows locally on D0NTWG03 (dual 1.3GHz Xeon 4, 1GB RAM), formerly allocated as Windows build machine for L3, now allocated to compile ROOT, only one user so far…

Page 7: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 77

SEED – Why?• Common analysis classes• OO code• reusable code• n-tuple independent code• looks & feels like ROOT code• use all the ROOT code already there

It so much looks like ROOT it might soon be a part of it!

Page 8: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 88

SEED – What?1. Define a mapping (called “seeds”) from n-

tuple column to class member2. SEED converts n-tuple into a file containing

data in classes, not in columns, using this mapping

3. Access data in classes in file, use classes’ (and ROOT’s) methods to analyze and plot your data

Page 9: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 99

SEED – main()

using namespace seed;

int main(int argc, char* argv[]){

TEventSample* pEventSample =

TEventSample::Load("../jets.root");

// create the data objects

TJCCGJet jet(pEventSample);

TOPRTParticle prt(pEventSample);

Page 10: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1010

SEED – main() (cont.)

for (iEvent=0; iEvent< pEventSample->GetNEvents(); iEvent++){

pEventSample->SetEvent(iEvent);

for (iJet=0; iJet< jet.Size(); iJet++){

dPhiJet=jet[iJet].Get4Vec().Phi();

for (int iPrt=0; iPrt < prt.Size(); iPrt++){

dPhi=prt[iPrt].GetTrack().Get4Vec().Phi();

h1.Fill((dPhi-dPhiJet)/kPI);

}; // for Particles

}; // for Jets

}; // for Event

Page 11: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1111

SEED – Seeds (Header)#include "seed/TCaloJet.h"

#include "seed/TSeed.h"

namespace seed{

MAKE_SEED( TCaloJet, TJCCGJet )

}

Page 12: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1212

SEED – Seeds (Source 1/3)#include "TJCCGJet.h"#include "seed/TSingleEntryTree.h"

namespace seed {

bool TJCCGJet_Seed::FillSeedData(TSingleEntryTree &tree, const int iEventNo) {

--- Fill data from n-tuple into SEED ---

return true;}} // end namespace seed

Page 13: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1313

SEED – Seeds (Source 2/3)In …::FillSeedData(…):tree.SetBranch("JCCG");

for (int iJet = 0; iJet<(int)tree.GetValue("JCCGnjet"); iJet++)

{

TCaloJet* pJet=NewEntry();

tree.SetIndex(iJet);

--- initialize pJet with data from n-tuple ---}

Page 14: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1414

From TCaloJet’s header:TCaloJet& TCaloJet::Set(const TLorentzVector& lv,

const double dWidthEta, const double dWidthPhi, const double dEMF, const int iN90);

pJet->Set( TLorentzVector(tree.GetValue("JCCGPx"), tree.GetValue("JCCGPy"), tree.GetValue("JCCGPz"), tree.GetValue("JCCGE")), tree.GetValue("JCCGEtaW"), tree.GetValue("JCCGPhiW"), tree.GetValue("JCCGEMF"), tree.GetValue("JCCGn90"));

SEED – Seeds (Source 3/3)

Page 15: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1515

SEED – n-Tuple to Class#include "seed/TEventSample.h"

#include "TJCCGJet.h"

#include "TOPRTParticle.h"

using namespace seed;

int main(int argc, char* argv[])

{

TEventSample es;

es.Create("bbbar.ntpl","bbbar.root");

return 0;

}

Page 16: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1616

SEED – Get it, it’s free!• Look at http://www-d0.fnal.gov/nikhef to

download the package.• Or d0-cvs checkout seed and seed_framework.• Or ask me to send you a copy by email.

Page 17: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1717

SEED – The result: HEP classes

Or: HEPEVT+++Discussion on1. Design of standard MC classes

• Particle• Branching Ratios• Stack (decay tree)• PDG connection

2. Design of standard Physics Objects classes• Feasibility• Interfaces• Analysis methods

Page 18: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1818

HEP ClassesCurrently 14 members from 5 experiments

D0, CDF, ALICE, BaBar, Atlas

Participate or inform yourself athttp://listserv.fnal.gov/archives/root_hep_classes.html

or send me an email.

First meeting during ROOT workshop, see status report athttp://www-root.fnal.gov/root2001/presentations/session6/HEP%20(Particle)%20Classes%20in%20Root.

pdf

Page 19: From  n-Tuples to b-Tags

Axel Naumann, DAxel Naumann, DØØUniversity of Nijmegen, The University of Nijmegen, The

NetherlandsNetherlands

6/20/20016/20/2001

Dutch Morning MeetingDutch Morning Meeting 1919

HEP Classes - Status• PDG implementations in StdHep++ and ROOT will

be merged (incl. branching ratios)• Discussion on how to implement vertex and stack

class, using ALICE and StdHep++ libraries as starting point; review of both implementations w.r.t. requirements specified during discussion session

• Physics Objects: Many doubts (Politics? Do experiments share a non-trivial part of the results of their event reconstruction? Will we all die before we have a standard set of classes?). Going to discuss feasibility on actual (example) implementation.