Brunel status and plans

Brunel status and plans
Status of commissioning
Forthcoming improvements
Conventions
Marco Cattaneo, Milano, 27th September 2000
1
Verification status

Brunel v1r3 corresponds to SICBDST v235


dst1 and dst2 samples produced with both programs,
starting from same RAWH input



i.e. Steering, I/O done by Gaudi, reconstruction done by wrapped
Fortran algorithms from SICBDST
100 events DST1 B->pi+pi500 events DST2 B->pi+pi-
Outputs compared using new data quality tool
(See Agnieszka’s talk)
 Detailed checks also by many sub-detectors



DST1 identical
DST2 fully compatible within statistics


(pileup in Gaudi uses different random number sequence)
Brunel functionally identical to SICBDST 2
DST1 comparison
3
DST2 comparison
4
Brunel Commissioning

Goal:


Benefit:


Use current Brunel version (wrapped SICBDST algorithms) in
production INSTEAD of SICBDST
New functionality (spillover, tracking) can be verified in production
environment, and quickly integrated if physics criteria are fulfilled.
Commissioning plan:

Use Brunel v1r3 to produce 10000 events on PCSF
Adapt scripts, verify program stability vs. SICBDST
 Status: started last week


Packaging and distribution
Current Brunel executable uses shared libraries from AFS
 Produce static linked, self-contained executables for Linux and NT
 Status: start next week


Review status at next software week (1-3 November)
5
Forthcoming improvements
(timescale of one month)
Infrastructure for Spillover events
C++ Track Fit
6
Spillover events

Definitions:

Pileup: several events from same beam crossing
Combination done by simply adding MC Hits of underlying events to
the physics event
 Requires no changes to digitisation code
 Implemented in both Brunel and SICB


Spillover: events from previous or subsequent beam crossing
Combination must preserve 25ns timing offset
 Digitisation must know what to do with hits that are 25nd early/late

 Sub-detector specific

Not implemented in SICB or Brunel
 I/O for additional events easy with Gaudi
 Sub-detector digitisation code must be rewritten (if spillover is relevant)
7
Spillover events in Gaudi
EventSelector
/Event
/MC
/MCNext
/MCNextNext
/MCPrev
/MCPrevPrev
/Raw
/Rec
SpilloverSelector
xxDigi
Transient Event Data
SpilloverSelector.TimeOffsetNext = 25*ns;
SpilloverSelector.TimeOffsetNextNext = 50*ns;
SpilloverSelector.TimeOffsetPrev = -25*ns;
SpilloverSelector.TimeOffsetPrevPrev = -50*ns;


SpilloverSelector in next Gaudi release (November 1st)
8
First xxDigi: tracking
C++ Tracking

C++ track fit runs in Brunel now



Comparison possible (in Gaudi) between Fortran and C++ fits
Similar results
By end October:

Feed fit results back to AXTK
 Links to RAWH?


Possibility to abandon Fortran track fit in production version
First release of pattern recognition
Probably not yet production quality, BUT
 Pattern recognition results available (in AXTK) for private studies by
other sub-detectors

9
SICBDST retirement

By 1st November it should be possible to:

Run current Brunel version in production, on Linux and NT


Identical algorithms as SICBDST, different steering main program
Optionally, AND if required by the physics groups:

Use C++ track fit in production INSTEAD of Fortran track fit
Begin studies of effect of pattern recognition
 Begin studies of effect of spillover events


Can we use Brunel.exe instead of SICBDST.exe in
official productions as from November?


In a configuration to be decided by physics meeting
Subject to fulfilment of commissioning plan
10
Brunel Conventions
http://lhcb.cern.ch/computing/Reconstruction/Conventions/

Conventions needed for:



Request at last software week:


Uniformity
Maintainability
Proposals to come from Brunel manager
Current proposals:

Discussed and approved at computing meetings
 http://lhcb.cern.ch/computing/offline/html/minutes20000828.htm
 http://lhcb.cern.ch/computing/offline/html/minutes20000911.htm

Mandatory after today for code accepted into Brunel


But review always possible!
Conventions on:



Physical Units
Event Data Model
Access to MonteCarlo truth
11
Physical Units
CLHEP system of units
Length
millimetre
Tim e
nanosecond
Energy
M eV
Electric charge
positron charge
Tem peratu re
Kelvin
Am ou nt of su bstance
mole
Plane angles
Solid angles
radian
steradian
All quantities in Gaudi data stores shall conform to the CLHEP system of units.
 All dimensioned quantities shall be defined by multiplying by the units in
CLHEP/Units/SystemOfUnits.h:

const double my_height = 170*cm; // = 1700
const double my_weight = 75*kg; // = 4.68e+26

Output of dimensioned quantities shall be converted to the required units by
dividing by the units in CLHEP/Units/SystemOfUnits.h
my_hist = histoSvc()->book( "/stat/diet", "corpulence (kg/m**2)",30,10.,40.);
double my_corpulence = my_weight / (my_height*my_height);
my_hist->fill( my_corpulence/(kg/m2), 1. );

Physical constants should not be defined in LHCb code. They should be taken
directly from CLHEP/Units/PhysicalConstants.h
float my_rest_energy = my_weight * c_squared;
12
Event Data Model

Glossary

MC Event: output of the event generator step.
 e.g. MC Particles and MC Vertices

MC Hits: output of the GEANT tracking step.
 e.g. detector entrance and exit point, energy loss etc.

FE data: simulated output of the detector front end,
 as seen by the hardware triggers, when different from Raw data.

Raw data: output of the digitisation step of the detector simulation, and
output of the data acquisition system for real data.
 e.g. ADC and TDC counts.

Coordinates: output of reconstruction program when applied to detector hits.
 e.g. hit coordinates, calorimeter clusters etc. (is there a better name?)

Reconstructed data: final output of the reconstruction program.
 e.g. tracks, particle ID, energy flow objects etc.

Naming convention

Agree on basic names. E.g. CaloDigit and OTDigit.
 To be extended, please send me requests....

MC classes that derive from a real data base class have the same name as
13
the base class, prefixed by "MC”. E.g. MCCaloDigit
Event Data Model
Relationship between Raw data and MC Hits

Implemented by inheritance:
CaloDigit
MCParticle
Attributes
Attributes
Operations
Operations
1
1
MCCaloDigit
MCCalo
SummedDeposit
1..N
MCCalo
Deposit
Attributes
Attributes
Operations
Operations
14
Generic
Data-MC comparison
Monte
Carlo
Comparison
Information
Hits
Particles
Track candidates
Dis-integrated Detector
response
Digits
Track segments
Reconstructed
space points
Raw data
Processing
15
Event Data Model
Generic relationship between
reconstructed data and MC Hits


No other explicit links between reconstructed data and MC truth
Navigation always by associator tool in dedicated monitor algorithms
2..N
TrMeasurement
Attributes
Operations
TrTrack
Attributes
Operations
MCParticle
Attributes
Operations
1
TrTrackMCParticleAssociator
OTHit
MCHitBase
1
MCTrackingHit
Attributes
Operations
1
OTDigi
Attributes
Operations
MCOTDigi

Associators may save their AssociationTables to persistent storage to
optimise subsequent analyses
16
 Transparent to applications
Associator example:
CaloDigitMCSumDepAsct
IAssociator* pAsct;
std::string m_asctCalo = "CaloDigitMCSumDepAsct";
StatusCode sa = m_toolSvc->retrieveTool( m_asctCalo , pAsct );
CaloCluster
CaloDigitPair
CaloDigit
MCCaloDeposit
MCCaloDigit
MCCaloSumDeposit
MCParticle
SmartDataPtr<CaloDigitVector>Digs(eventSvc(),"/Event/Raw/Ecal/Digits_0");
for(CaloDigitVector::iterator it=Digs->begin(); Digs->end()!=it; ++it ){
MCCaloSummedDeposit* pMC = 0;
17
StatusCode sas = pAsct->retrieveDirect( *it, pMC ); }
Conclusions


Current Brunel version gives identical results to
SICBDST
We could decide NOW to use Brunel for production


Would allow rapid deployment of new features


As soon as it is packaged for production enviroment
In particular, tracking improvements
Brunel now mature

We must adopt conventions
18
Let’s take the plunge!
19