160 likes | 239 Views
This overview covers the functionality and construction of the BeamCal compact EM calorimeter, its implementation in Mokka, detector geometry construction using C++ code and MySQL databases, and simulation studies. The sensitive detectors, database setup, and driver creation process are detailed, along with information on the BeamCal model, segmentation, hit classes, and simulation results.
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