Ecal Trigger Software in CMSSW P Meridiani Ecal

  • Slides: 12
Download presentation
Ecal Trigger Software in CMSSW P. Meridiani Ecal Trigger Workshop 28/04/2006 Paolo Meridiani –

Ecal Trigger Software in CMSSW P. Meridiani Ecal Trigger Workshop 28/04/2006 Paolo Meridiani – INFN Roma 1 1

Introduction l Ecal. Trigger. Primitives output is one word of 12 bits, for each

Introduction l Ecal. Trigger. Primitives output is one word of 12 bits, for each tower, at each bunch crossing containing: n TRANSVERSE ENERGY value reconstructed for that tower on-line (8 bits) n FINE GRAIN VETO BIT indicating the compactness of the shower (1 bit) ( i. e. if it is an electromagnetic shower or not) n TRIGGER TOWER flag indication used as input for the Selective Readout Processor (3 bits) l Ecal. Selective. Readout instead computes for each tower at the LV 1 A rate a 3 bit flag identifying the readout state of the TT l Software for Ecal. Trigger. Primitives, Ecal. Selective. Readout and L 1 Regional and Global Calo. Trigger is not a simulation in the sense of Monte. Carlo, but it is an emulation (results should be bitwise equal) Paolo Meridiani – INFN Roma 1 2

What we have in the ORCA world l In former ORCA, there were two

What we have in the ORCA world l In former ORCA, there were two packages Ecal. Trigger. Primitives emulation n Calorimetry/Ecal. Trig. Prim. Simple • Used for all the Physics TDR studies. Not really a full emulation the various trigger primitives component (FENIX-STRIP & FENIX-TCP). n Calorimetry/Ecal. Trig. Prim. Functional • All the various components of the Trigger primitives generation are emulated. This should become the standard emulation code in CMSW l Instead for Ecal. Selective. Readout one single package n Calorimetry/Ecal. Selective. Readout. Tower Paolo Meridiani – INFN Roma 1 3

Results on former ORCA code l Results obtained from Ecal. Trig. Prim. Functional code

Results on former ORCA code l Results obtained from Ecal. Trig. Prim. Functional code presented by S. Bimbot 20/09/2005 using 2004 TB data Xtal 148, 120 Ge. V Bit to bit comparison: NO DIFFERENCE Between data & electronics simulation Þ Electronics simulation of the TPG OK Paolo Meridiani – INFN Roma 1 ADCTPG 4

Design schema/repository in CMSSW l Ecal. Trigger. Primitives & Ecal. Selective. Readout emulation are

Design schema/repository in CMSSW l Ecal. Trigger. Primitives & Ecal. Selective. Readout emulation are fundamental pieces of the Ecal Digitization code and of the L 1 RCT emulation code in CMSSW What we have now in CMSW concerning Ecal. Trigger l Under Data. Formats/Ecal. Det. Id a specific Det. Id to identify Trigger. Tower l Ecal. Trigger. Primitives digis under Data. Formats/Ecal. Digis Paolo Meridiani – INFN Roma 1 5

Ecal. Trig. Tower. Det. Id Two modes can be specified in the constructor •

Ecal. Trig. Tower. Det. Id Two modes can be specified in the constructor • SUBDETIJMODE (where i, j means eta, phi for EB and x, y for EE) • SUBDETDCCTTMODE (to identify trigger tower DCC & TT index) class Ecal. Trig. Tower. Det. Id : public Det. Id { public: /** Constructor of a null id */ Ecal. Trig. Tower. Det. Id(); /** Constructor from a raw value */ Ecal. Trig. Tower. Det. Id(uint 32_t rawid); /** brief Constructor from signed ieta, iphi*/ Ecal. Trig. Tower. Det. Id(int zside, Ecal. Subdetector subdet, int i, int j, int mode=SUBDETIJMODE) throw(std: : runtime_error); /// get the z-side of the tower (1/-1) int zside() const { return (id_&0 x 8000)? (1): (-1); } /// get the sub. Detector associated to the Trigger Tower Ecal. Subdetector sub. Det() const { return (id_&0 x 4000) ? Ecal. Barrel: Ecal. Endcap; } /// get the absolute value of the tower ieta (Barrel case) int ieta. Abs() const throw(std: : runtime_error) /// get the tower ieta (Barrel case) int ieta() const throw(std: : runtime_error) /// get the tower iphi (Barrel case) int iphi() const throw(std: : runtime_error) /// get the tower ix (Endcap case) int ix() const /// get the tower iy (Endcap case) int iy() const throw(std: : runtime_error) /// get a compact index for arrays [TODO: NEEDS WORK] int hashed. Index() const; /// get the ECAL DCC id - in the barrrel ism == i. DCC int i. DCC() const throw(std: : runtime_error); /// sequential index within one DCC int i. TT() const throw(std: : runtime_error); Paolo Meridiani – INFN Roma 1 6

Ecal. Trig. Prim. Sample in CMSSW (Data. Formats/Ecal. Digi) class Ecal. Trigger. Primitive. Sample

Ecal. Trig. Prim. Sample in CMSSW (Data. Formats/Ecal. Digi) class Ecal. Trigger. Primitive. Sample { public: Ecal. Trigger. Primitive. Sample(); Ecal. Trigger. Primitive. Sample(uint 16_t data); Ecal. Trigger. Primitive. Sample(int encoded. Et, bool finegrain, int trigger. Flag); /// get the raw word uint 16_t raw() const { return the. Sample; } /// get the encoded/compressed Et (8 bits) int compressed. Et() const { return the. Sample&0 x. FF; } /// get the fine-grain bit (1 bit) bool fine. Grain() const { return (the. Sample&0 x 100)!=0; } /// get the Trigger tower Flag (3 bits) int tt. Flag() const { return (the. Sample>>9)&0 x 7; } /// for streaming uint 16_t operator()() { return the. Sample; } private: uint 16_t the. Sample; }; Paolo Meridiani – INFN Roma 1 7

How digitization will work in CMSSW For the moment in CMSSW digitization code released

How digitization will work in CMSSW For the moment in CMSSW digitization code released under Sim. Calorimetry/Ecal. Sim. Producers and Ecal. Sim. Algos l Those modules are producing Digis for all the Det. Ids defined in the geometry. No zero suppression applied. l Ecal. Trigger. Primitives and Ecal. Selective. Readout will be two separate modules producing l n n From non zero suppressed Digis Ecal. Trigger. Primitives From Ecal. Trigger. Primitives Ecal. Selective. Readout mapping Another separate module reads the whole collection of Digis and the Selective. Readout mapping and will do the reduction of the Digis collections l For the production phase transient full digi collection will be dropped. Can be mantained for debugging/developing reasons. l Together with this we plan also to develop a simple Ecal. Zero. Suppressor with configurable thresholds. l Paolo Meridiani – INFN Roma 1 8

Ecal. Trigger. Primitives implementation plan l l l l U. Berthon is now working

Ecal. Trigger. Primitives implementation plan l l l l U. Berthon is now working on porting the code for Ecal. Trigger. Primitives. Packages to be implemented are Sim. Calorimetry/Ecal. Trig. Prim. Algos & Sim. Calorimetry/Ecal. Trig. Prim. Producers Plan is to first port the simple Trigger. Primitives emulation for the barrel, then move also to the endcap and afterwards port the functional trigger primitives emulation Ursula hopes to have a first release for the end of the next week The guidelines followed for other modules (decoupling of algorithms from the framework) will be followed We start from the Barrel since for the moment Ecal. Trigger. Tower. Mapping is not done for the Endcap Basic design schema for the Ecal Trigger. Tower mapping has been agreed privately between me and J. Mans (HCAL software coordinator) I will contact an expert from the Endcap group (H. Heath? ) to develop this part. Paolo Meridiani – INFN Roma 1 9

Ecal. Selective. Readout l Rick Wilkinson started the porting of the Selective. Readout code

Ecal. Selective. Readout l Rick Wilkinson started the porting of the Selective. Readout code l Code will be developed under Sim. Calorimetry/Ecal. Selective. Readout(Algos, Producers) l First commit of the code under Ecal. Selective. Readout. Algos has been made l Basically a standalone version of the code, which is waiting both for the trigger primitives code and the Ecal. Trigger. Tower. Mapping Paolo Meridiani – INFN Roma 1 10

L 1 trigger software emulation status l S. Dasu and C. Hogg working on

L 1 trigger software emulation status l S. Dasu and C. Hogg working on the L 1 RCT l First port into CMSSW as Regional. Calo. Trigger done. This is a standalone code tested using ASCII files made from ORCA ● Now working on defining proper data types for input and output and later on integration with Ecal & Hcal Trigger Primitives not yet done l J. Brooke is working on L 1 GCT. Status is - bit level simulation of jet finding and electron sort are written and have been tested with ASCII file I/O - writing global energy algorithms and modifications to reflect new GCT hardware both well advanced - integration with CMSSW has just started, definition of I/O Data. Formats yet to be done Paolo Meridiani – INFN Roma 1 11

Conclusions l l l Basic Data. Formats and Det. Ids for Ecal. Trigger. Primitives

Conclusions l l l Basic Data. Formats and Det. Ids for Ecal. Trigger. Primitives defined into CMSW U. Berthon working on the simple version of the Ecal. Trigger. Primitives. A first version expected for the end of the next week R. Wilkinson started the porting effort for the Ecal. Selective. Readout. Ecal. Trig. Tower. Mapping is an important piece still missing. A developer here is needed. Porting of the L 1 trigger emulation code has just started. Coordination with L 1 trigger developers will be later necessary. Paolo Meridiani – INFN Roma 1 12