+ All Categories
Home > Documents > April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb...

April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb...

Date post: 17-Jan-2018
Category:
Upload: melinda-cole
View: 232 times
Download: 0 times
Share this document with a friend
Description:
April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 3 LHCb Software week Tree Structure in Stores Objects in stores are arranged in a tree. –Event Root branching sub-trees /Event /Event/MCEvent /Event/FE (used by L1) /Event/RawEvent /Event/RecEvent /Event/AnalEvent –Defined in LHCbEvent/TopLevel/EventModel.h and.cpp Retrieving (storing) an identifiable object from the store is based on the knowledge (definition) of its logical path SmartDataPtr particles ( eventSvc(), "/Event/MC/MCParticles" );
25
April 6, 2000 LHCb Event Data Model Pavel Binko , Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN
Transcript
Page 1: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 1

LHCb Software week

LHCb Event Data Model

Pavel BinkoGloria Corti

LHCb / CERN

Page 2: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 2

LHCb Software week

Outline

A mix of what is designed and/or implemented both in Gaudi and in private detectors’ code. It is expected to evolve (of course) …

Tree Structure in Stores LHCb Containers and Contained Object Top Level Event Structures Monte Carlo Event Structures Raw and Reconstructed Event Structures Physics Analysis Event Structure Detectors Event Structures: Velo, Tracking, RICH, Calorimeters, Muon Conclusions

Page 3: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 3

LHCb Software week

Tree Structure in Stores

Objects in stores are arranged in a tree. – Event Root branching sub-trees

/Event/Event/MCEvent /Event/FE (used by L1) /Event/RawEvent /Event/RecEvent/Event/AnalEvent

– Defined in LHCbEvent/TopLevel/EventModel.h and .cpp

Retrieving (storing) an identifiable object from the store is based on the knowledge (definition) of its logical path

SmartDataPtr<MCParticleVector> particles ( eventSvc(), "/Event/MC/MCParticles" );

Page 4: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 4

LHCb Software week

LHCb Containers Containers are the elementary unit of identification

– Have to inherit from class DataObject It is assumed that algorithms do not identify individual hits or tracks, but always containers

of hits, containers of tracks, etc.– Are based on STL containers - implement the same interface– Provide containment of pointers to the physics object

MCParticleVector ( equal to ObjectVector<MCParticle> )

Requirements on LHCb containers– Physics objects must not be contained in more than one container

Therefore all classes of objects, they are allowed to be contained in LHCb containers, have to inherit from the base class ContainedObject

– Memory management of contained objects– Navigability in both directions

From the container to its object, and from the object to its container

Page 5: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 6

LHCb Software week

Top Level Event Structures

Classes with global run and event information – Run, Event, EventTag, MCEvent, SubMCEvent, RawEvent, RecEvent, AnalEvent

(runType, runNumber, triggerType, luminosity, fillNumber, eventNumber, timeStamp, generatorType, highVoltageMask, etc.)

Most of the these classes have to be identifiable, therefore they have to inherit from the class DataObject

In the directory /LHCbEvent/TopLevels there are also the LHCb container classes ObjectContainerBase, ObjectVector, ObjectList and the base class ContainedObject

Page 6: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 7

LHCb Software week

Top Level Event Diagram

RecEvent

RawEventfromMC : bool = falseerrorStatus : long = 0highVoltageMask : long = 0

AnalEventEventTag

Eventevent : long = 0run : long = 0

1..1

+event

1..1

DataObject(f rom Kernel)

RunrunType : long = 0triggerType : long = 0enabledTriggerMask : long = 0enabledDetectorMask : long = 0luminosity : double = 0.fillNumber : long = 0generatorType : long = 0

MCEventpileUp : long = 0

SubMCEventdetectorCharacteristics : longprimaryVertex : Point3Dweight : double

1..*

+subMCEvent

1..*

Page 7: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 8

LHCb Software week

Monte Carlo Event Structures

The MonteCarlo event sub-tree contains output from the event generators and MonteCarlo tracking

MCParticle, particles “seen” by the spectrometer (GEANT3)– contains the data members: fourMomentum, particleId, and references to its origin

vertex (SmartRef to MCVertex) and its “decay” vertices (SmartRefVector to MCVertex)

– Path = “/Event/MC/MCParticles” MCVertex, production and “decay” (end) vertices of MCParticles (GEANT3)

– contains the data members: position, timeOfFlight, and references to its mother track (SmartRef to MCParticle) and its daughter tracks (SmartRefVector to MCParticle).

– Path = “/Event/MC/MCVertices”

Page 8: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 9

LHCb Software week

Monte Carlo Event Structures: Detectors’ MC hits

MCHitBase is a base class for many concrete hit classes – contains data members entry (the entry point), depositedEnergy and timeOfFlight,

and the reference to MCParticle, which are common to many concrete hits, which inherit from it.

– It is not allowed to instantiate MCHitBase, as it has no physical meaning (only the inherited classes correspond to real hits).

MCTrackingHit is used in 2 contexts: tracker and muon detector– inherits from MCHitBase, in addition it contains the data member exit (the exit

point).

– Path = “/Event/MC/MCTrackerHits”, “/Event/MC/MCMuonHits” For other detectors see details later

Page 9: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 10

LHCb Software week

Monte Carlo Event Diagram

MCTrackingHit

exit : Point3D

CellId

id : long(from Utilities)

MCVertexposition : Point3DtimeOfFlight : double = 0.

MCHitBaseentry : Point3DdepositedEnerg y : double = 0.timeOfFlight : double = 0.

MCCalorimeterHit

energy : double = 0.

1..1+cellId

1..1

MCPartic lefourMomentum : LorentzVectoroscillationFlag : bool = false

virtualMass()

0..*+daughterTrack

0..*

1..1+originVertex

1..1

1..1+decay Vertex

1..1

0..1

+motherTrack

0..1

1..1+track

1..1

1..*

+track

1..*

Partic leId

id : long

ParticleId()

(from Utilities)

1..1

+particleId

1..11..1

+flavourHistory

1..1

ContainedObject

parent()setParent()

(from TopLevel)

MCVeloHitwaferNumber : long = 0

Page 10: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 11

LHCb Software week

Raw & Reconstructed Event Structures

The RAW event sub-tree contains raw data collected by DAQ and produced by simulation in same format (i.e. detector and electronics response).

Reconstructed event sub-tree contains the output of the reconstruction

See details later for the different sub-detectors

Necessary to combine information from different sub-detectors in the reconstruction

Page 11: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 12

LHCb Software week

Reconstructed Event Diagram

RecRichRingRecCalorimeterClus terRecTrackingSegment

RecMuonSegmentRecTrackerSegmentRecVertexSegment

RecRichHit RecCalorimeterCell RecTrackingHit

RecVertexCluster RecInnerTrackerHit RecOuterTrackerHit RecMuonH it

RecConstituentRecTrack

0..*

+consti tuent

0..*

RecHit

0..*

+hit

0..*

RecVertexRecPaticleID

ContainedObject

parent()setParent()

(f rom TopLev el)

Page 12: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 13

LHCb Software week

Analysis Event Structures

Contains objects created and used during physics analysis. In the Gaudi release only the AxPartCandidate class, derived from the SICb

AXTK bank is implemented. Design, partial implementation exists in private code:

– ParticleCandidate base class with pointers to some reconstruction classes, three-momentum, measured mass for composite particles and specialized classes for different particle types ( TrkParticle, NeutParticle, CompParticle), as well as reference to decay vertex

– VtxCandidate contains position,error matrix, and reference to particles (pointers to ParticleCandidate class) that were used to “make” the vertex

– ChosenParticle class with pID chosen for a specific analysis, and hence four-momentum

– DecayTree where the full decay is described with references to ChosenParticles

Page 13: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 14

LHCb Software week

Analysis Event DiagramContainedObject

parent()setParent()

(from T opLevel)

TrkParticle NeutParticle CompParticle

DecayTreeChosenParticle

* 1*

+composedOf

1

VtxCandidate

RecPaticleID(f rom Reconstructed)

RecTrack(f rom Reconstructed)

ParticleCandidate

1

*

1

+originatesFrom*

* 1*

+produces

1

11 1+decays Into

1

Page 14: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 15

LHCb Software week

Velo / L1 Event Model

Currently Velo/L1 SICb banks mapped to classes Two separate world: pure MC world, MC/real data world (Raw, Rec, FE),

connected trough reference tables MCVeloHit (Geant3 hits)

– inherits from MCTracking hits, in addition contains wafer method– Path = “/Event/MC/Velo/Hits”

RawVeloHit (digitized hits)– sector, type (R,, stripNumber, charge, adcCount, waferNumber– Path = “/Event/Raw/Velo/Hits”

VeloClusters (reconstructed R, clusters)– coordinate,station,pulseHeight,width, etc, + references to RawVeloHit– Path = “/Event/Rec/Velo/RClusters”, “/Event/Rec/Velo/PhiClusters”

Page 15: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 16

LHCb Software week

Velo / L1 Event Model

Level12dTrack ( Level1 vertex trigger 2-d tracks)– status, slope,radius, etc + references to VeloCluster – Path = “/Event/FE/L1/2dTracks”

Level13dTrack (Level1 vertex trigger 2-d tracks)– coordStart, uvecStart, ip, etc + 2 vectors of pointers to VeloClusters and a vector of

pointers to Level12dTrack – Path = “/Event/FE/L1/3dTracks”

Level1Vertex (Level1 trigger primary and secondary vertices)– Path = “/Event/FE/L1/PriVertices”, “/Event/FE/L1/SecVertices”

Level1Summary ( trigger decision, like event trigger tag)– decision, pileup, numLargeIPtracks, singleVtxProb, etc.– Path = “/Event/FE/L1/Summary”

Page 16: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 17

LHCb Software week

Velo / L1 Event Model Diagram

Level1Summary

ContainedObject

parent()setParent()

(from T opLevel) DataObject(f rom Kernel)

Level1VertexLevel13dTrack

* 1* 1

Level12dTrack

*

1

*

1

RawVeloHit VeloClus ter

* 1* 1

*

1

*

1

* 1* 1

Page 17: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 18

LHCb Software week

Tracking Event Model

Data Model used by Tracking Algorithms– OT stands for outer tracker, IT for inner tracker

OTDigi, ITDigi, classes with digitized raw data (i.e. TDC counts)– currently they are produced starting from the Gaudi Classes

RawInner(Outer)TrackerMeas (copies from SICb banks)

OTHits, ITHits, hits produced by the subdetectors reconstruction, input for tracking

OTHitsOnTrack, ITHitsOnTrack, measurements assigned to tracks – inherits from base abstract class TrMeasurement

Page 18: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 19

LHCb Software week

Tracking Event Model (2)

TrState, a snapshot of a track– track parameters and covariance matrix at a given z position on its trajectory

TrTrack, contains information about the track accumulated during tracking– list of pointers to TrMeasurements and to TrState– charge, , particleType

Connections with the MC world are done through inheritance for hits (ex. ITMCHit, ITMCDigi), inheritance with pointer or associators for tracks

Page 19: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 20

LHCb Software week

Tracking Data Model for Tracks

OTHitOnTrack

OTHit ITHit

ITHitOnTrack

Espetially in case of outer tracker measurem ent depends on which track the hit is on

TrMCTrack

Pointer or associater

Z-pos ition s tate, covariance matrix

TrMeasurem ent

TrState

TrTrack

2..*

0..*

2..*

0..*

1..*

1

1..*

1

TrStateQPt TrStateL

x, y, tx, ty, Q/Pt x, y, tx, ty

Page 20: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 21

LHCb Software week

Tracking Data Model for Hits

MCHitBase

entry : Point3DdepositedEnergy : double = 0.tim eOf F light : double = 0.

(f rom MonteCarlo)

MCParticle

f ourMomentum : LorentzVec toroscillat ionFlag : bool = f alse

v irtualMass ()

(f rom MonteCarlo)1..1

+track

1..1

DetectionCell

TrOTLay er

OTDigi

OTDetectionCell

OTHit(from Tracking Rec)

Also needs to know about true resolution of drif t am biguity

TrITLayer

IT DigiITDetectionCell

IT Hit(from TrackingRec)

OTMCHitOTMCDigiIT MCHit

MC Track ingH it

ex it : Point3D(from MonteCarlo)

IT MCDigi

Page 21: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 22

LHCb Software week

RICH Event Model

At the moment the RICH Algorithms have their own private event and communicates with the LHCbEvent via an Event Adapter.

Different adapters for the different purposes: simulation, reconstruction with simulation tracks, reconstruction

RecPaticleID(f rom Reconstructed)

RICHParticleID

contributi on from RICH

The Event adapter creates RICH input objects (Track and TrackSegment) from objects in the LHCbEvent transient store (i.e. MCParticle, TrTrack) and deposit its result in the store with a pointer to the original object so that it can then be used by other algorithms (ex. of RICHParticleID in RecEvent)

Page 22: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 23

LHCb Software week

Calorimeters Event Model Simulation, Digitization, Calibration and Clusterization Algorithm for the

Calorimeters “communicate” through the data flow from one algorithm to the other

MCCaloDeposit, energy deposited by a MC particle MCCaloSummedDeposit, energy deposited in the Calorimeter active material CaloDigit, energy deposition in a given Calorimeter cell MCCaloDigit, inherits from CaloDigit + references to MC true info

(MCCaloSummedDeposit and MCCaloDeposit) CaloCluster, reconstructed clusters (x,y,E, etc.)

– Same class holds MC and real Data ( references to CaloDigit) Simulation produces a sequence of MCCaloDigit, that the Digitization either

updates or uses to create a new sequence. The Calibration and Clusterization treat the sequence of MCCaloDigits as a CaloDigit sequence (dynamic casting is necessary when checking against MC truth)

Page 23: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 24

LHCb Software week

Calorimeters MC and Raw Data Model

ContainedObject

parent()setParent()

(from T opLevel)

CaloCellIDCaloDigit

energy : double = 0.11

MCCaloDigit

CaloSum medDepositactiveE : double = 0.totalE : double = 0.

MCParticle

fourMomentum : LorentzVectorosci l lationFlag : bool = fa lse

virtualMass()

(from M onteCarlo)

MCCaloDepos itactiveE : double = 0.totalE : double = 0.

Page 24: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 25

LHCb Software week

Muon Event Model

A simple digitization algorithm is designed and implemented within the Gaudi framework. Simple Event Model related to digitization algorithm (input/output data)

MCTrackingHit are used as input(/Event/MC/MCMuonHits)

ContainedObject

parent()setParent()

(from T opLevel)

MCTrackingHit

exi t : Point3D

(f rom MonteCarlo) RawMuonHit

* 1* 1

RawMuonHit are produced (stored in /Event/Raw)– full PadID (station, chamber, pad)

and time stamp + vector of pointers to MCTrackingHit

Page 25: April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.

April 6, 2000

LHCb Event Data Model

Pavel Binko , Gloria Corti LHCb / CERN 26

LHCb Software week

Conclusions The Event Model in the sub-detectors mostly specialized to their algorithms.

But data objects in the event store are how the sub-detector algorithms exchange information.

How can we have a coherent global Event Model?

The Data Model from the sub-detectors should be integrated in the LHCbEvent Model (after testing, of course...). Maybe some sub-detector data classes could be common base classes or be specialized in other sub-detectors...

Need for concrete (specialized) containers. What are the common requirements. Necessary to collect information: workshop?


Recommended