160 likes | 232 Views
Implementation of BeamCal in Mokka. Alexandra Popescu, Aura Ros ca West University of Timisoara. FCAL Collaboration Meeting 6-7 May, Krakow, Poland. Overview. BeamCal: functionality and structure Detector construction Sensitive detectors Summary. BeamCal.
E N D
Implementation of BeamCal in Mokka Alexandra Popescu, Aura Rosca West University of Timisoara FCAL Collaboration Meeting 6-7 May, Krakow, Poland
Overview • BeamCal: functionality and structure • Detector construction • Sensitive detectors • Summary
BeamCal • Compact EM calorimeter with a sandwich structure: • 30 layers of 1X0: 3.5 mm absorber and 0.3 mm sensor • Angular coverage: ~5-45 mrad • Situated at 3450 mm from the IP • Purposes: • Provide electron and photon identification down to polar angles of a few mrad • Protect the inner part of the detector by reducing backscattering from inner parts • Assisting beam diagnostics
Mokka implementation • Create a local copy of the central database • Construct the geometry of the detector • Define the sensitive detectors
Geometry construction • Drivers: C++ code • Databases: MySQL database • Sub-detectors: a combination of drivers and databases
Drivers • A class which inherits from VSubDetectorDrivers class class BeamCal00: public VSubDetectorDriver • The actual construction of the geometry is made by the ContextualConstruct invoked by the geometry manager G4bool ContextualConstruct(const CGAGeometryEnvironment &env, G4LogicalVolume *worldLog); • To be available the driver has to be created using the INSTANTIATE macro available in “CGADefs.h” #include "CGADefs.h" INSTANTIATE(BeamCal00)
Geometry data model “models03” database is composed of several tables: • detector_concept • ingredients • model • model_parameters • parameters • scripts • setup • setup_parameters • sharing • sub_detector • tmp_databases
Database Create a database, using a MySQL script, with the relevant geometry parameters for the detector CREATE DATABASE `beamcalX01_14`; USE beamcalX01_14; DROP TABLE IF EXISTS `beamcal`; CREATE TABLE `beamcal`( `Rinner` double default NULL, `Router` double default NULL, `sPhi` double default NULL, `dPhi` double default NULL, `nWafers` double default NULL, `BPmaxR` double default NULL ); INSERT INTO `beamcal` (Rinner, Router, sPhi, dPhi, nWafers, BPmaxR) VALUES (20., 150., 200., 320., 8., 67.);
Geometry construction Connect the driver and the database to form a sub-detector: • name: BeamCal • driver: BeamCal00 • database: beamcalX01 Create a detector model that uses this sub-detector: • model: LDC01_05Sc • sub_detector: BeamCal Make the relevant geometry parameters known to the driver: • driver: BeamCal00 • parameter: ILC_Main_Crossing_Angle (default value is 14 mrad)
BeamCal Geometry Tungsten Kapton Gold Pair monitor Graphite (100 mm) Air gap Diamond
BeamCal Geometry • Segmentation: • 17 ring (r) • 8 sectors (phi) • 140 cells/sector ~ 8mm Backward region
Sensitive detector • Hit class(es) - CalHit (the generic hit class for calorimeters) - TRKHit (implements a simple hit for the tracking devices) • Hit collection • Sensitive detector class • has to inherit from the abstract class VSensitiveDetector • Register the sensitive detector object using the RegsiterSensitiveDetector() method
Hits Forward region Backward region
Simulation studies RM=11.8 ±0.4 mm
Summary • Implemented in Mokka a realistic description of BeamCal’s geometry • Moliere Radius = 11.8 mm (preliminary result) • LC TOOLS note in progress