NSWL1TriggerInAthena
This page describes the implementation in Athena of the L1 trigger for the New Small Wheel, for the sTGC and micromegas (MM) detectors. The implementation can be found in the following packages :
TrigT1NSW and
TrigT1NSWSimTools. Some documentation can be found in the attached document (
CodeIntegration.pdf).
NSW L1 Hardware
For the sTGCs :
Vmm Pad → Pad TDS → Pad Trigger Logic → Strip TDS → sTGC Trigger Processor
Vmm Strip → Strip TDS → sTGC Trigger Processor
For the MM :
Vmm Strip → Strip TDS → MM Trigger Processor
- contains the algorithm and the monitoring configuration
- runs the PAD TDS simulation
- delivers the ntuple for validation
- contains the interface and concrete implementation for the EDM and AlgTools
- proposal for online readout numbering of sTGS PAD and sTGC strip
- PadTdsOffline simulation, implementing the BC tag, the time delay due to the ToF subtraction and the electronic jitter, the VMM dead time simulation
The online-offline mapping is defined in :
PadData.h,
PadOfflineData.cxx/h (for sTGC) ;
MMStripData.h,
MMStripOfflineData.cxx/h (for MM)
The processing is defined in :
PadTdsOfflineTool.h (for sTGC)
Commands to run the code
To setup the environment :
export
AtlasSetup=/afs/cern.ch/atlas/software/dist/AtlasSetup
alias asetup='source $AtlasSetup/scripts/asetup.sh'
asetup
AtlasProduction,19.0.0,here
To install the code :
cmt co svn+ssh://svn.cern.ch/reps/atlasoff/Trigger/TrigT1/TrigT1NSW/trunk Trigger/TrigT1/TrigT1NSW
cmt co -r svn+ssh://svn.cern.ch/reps/atlasoff/Trigger/TrigT1/TrigT1NSWSimTools/trunk Trigger/TrigT1/TrigT1NSWSimTools
cmt co -r MM_Digitization-00-03-03
MuonSpectrometer/MuonDigitization/MM_Digitization
setupWorkArea.py
cd
WorkArea/cmt;
cmt br cmt config
cmt br cmt make
To run the code :
athena /afs/cern.ch/work/d/dimattia/public/LVL1NSW/JobOptions/NSWL1.py
Location of the jobOptions files :
/afs/cern.ch/work/d/dimattia/public/LVL1NSW/JobOptions
Location of the hits.pool files :
The location of the hits.pool file is defined in the .py job option file (NSWL1.py). The files can be found at :
root://eosatlas//eos/atlas/user/o/osidirop/DiMuonCasesProduction/MagneticFieldOn/spreadVertex/AllPhysicsIncluded (pt of the muons are flatly distributed in the range 4-100GeV)
xrd eosatlas dirlist eos/atlas/user/j/jomeyer/NSWProduction
Instructions to run pile-up digitization for NSW
(for questions contact:
ourania.sidiropoulou@cernNOSPAMPLEASE.ch)
Setup of the Working Area
- In a new directory (WORKDIR) setup the last "stable" version of devval (the WORKDIR will be your TestArea):
source /afs/cern.ch/atlas/software/dist/AtlasSetup/scripts/asetup.sh saved, rel_1, here or
asetup saved, rel_1, here
-
In the WORKDIR checkout the following packages:
pkgco.py -A MM_Digitization-00-03-09
pkgco.py -A sTGC_Digitization-00-03-06
-
To compile those packages do:
cd $TestArea/MuonSpectrometer/MuonDigitization/MM_Digitization/cmt/
gmake
cd $TestArea/MuonSpectrometer/MuonDigitization/sTGC_Digitization/cmt/
gmake
-
Return to your TestArea:
cd $TestArea/
Pile-up Digitization
Pile-up digitization takes mulitple input datasets:
These datasets are all hits files (HITS.pool.root) and they are produced by
EvgenFiles (EVNT.pool.root). More information about pile-up digitization you can find here:
https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/PileupDigitization
The process that will be followed to produce pile-up samples included the NSW is to:
- Simulate low and high Pt min bias samples
- If the min bias samples will be several files then you have to merge them seperately before running pile-up digitization
- Merge the low Pt minbias samples
- Merge the high Pt minbias samples
- Run the pile-up digitization code
Signal samples are already produced by J.Meyer and you can find them here:
- /eos/atlas/user/j/jomeyer/NSWProduction/MC12.107202.ParticleGenerator_dimu_Pt10/HITS
- /eos/atlas/user/j/jomeyer/NSWProduction/MC12.107203.ParticleGenerator_dimu_Pt20/HITS
- /eos/atlas/user/j/jomeyer/NSWProduction/MC12.107205.ParticleGenerator_dimu_Pt50/HITS
- /eos/atlas/user/j/jomeyer/NSWProduction/MC12.107206.ParticleGenerator_dimu_Pt100/HITS
- /eos/atlas/user/j/jomeyer/NSWProduction/MC12.107207.ParticleGenerator_dimu_Pt500/HITS
- /eos/atlas/user/j/jomeyer/NSWProduction/MC12.107208.ParticleGenerator_dimu_Pt1000/HITS
- /eos/atlas/user/j/jomeyer/NSWProduction/MC12.107209.ParticleGenerator_dimu_Pt10_100/HITS
The list of available 14
TeV pileup hits samples are here:
https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/AtlasProductionGroupMC12Upgrade These hits files do not include the NSW so you have to search in AMI the corresponding EVNT.pool.root files for low and high Pt and rerun the simulation.
How to simulate samples
AtlasG4_tf.py --conditionsTag='OFLCOND-MC12b-SIM-00' --preExec='sim:simFlags.SimulateNewSmallWheel=True' --geometryVersion='ATLAS-GEO-21-00-01_VALIDATION' --physicsList='FTFP_BERT' --preInclude='SimulationJobOptions/preInclude.BeamPipeKill.py' --postInclude='RecJobTransforms/UseFrontier.py' --maxEvents='2000' --inputEVNTFile='input.EVNT.pool.root' --outputHITSFile='output.HITS.pool.root'
How to merge samples
HITSMerge_tf.py --maxEvents='2000' --inputHITSFile='input_1.HITS.pool.root,input_2.HITS.pool.root,input_3.HITS.pool.root' --outputHITS_MRGFile='output.merge.HITS.pool.root' --skipEvents=0 --postInclude='RecJobTransforms/UseFrontier.py'
How to run pile-up digitization
Digi_tf.py --inputHitsFile='signal.HITS.pool.root' --outputRDOFile='signal_and_minbias.RDO.pool.root' --preExec='HITtoRDO:from Digitization.DigitizationFlags
import digitizationFlags;digitizationFlags.overrideMetadata=["PhysicsList","SimLayout","MagneticField","SimulatedDetectors"];from AthenaCommon.DetFlags
import DetFlags;DetFlags.Truth_setOn();DetFlags.BCM_setOn();DetFlags.ID_setOff();DetFlags.Calo_setOff();DetFlags.Muon_setOn(); DetFlags.MDT_setOn();DetFlags.CSC_setOn();DetFlags.TGC_setOn();DetFlags.RPC_setOn(); DetFlags.sTGC_setOn();DetFlags.Micromegas_setOn();DetFlags.digitize.MDT_setOn(); DetFlags.digitize.TGC_setOn();DetFlags.digitize.RPC_setOn();DetFlags.digitize.CSC_setOn(); DetFlags.digitize.Micromegas_setOn();DetFlags.digitize.sTGC_setOn();' --maxEvents='4000' --skipEvents='0' --geometryVersion='ATLAS-GEO-21-00-01_VALIDATION' --conditionsTag='OFLCOND-MC12b-SDR-01' --digiSeedOffset1='11' --digiSeedOffset2='22' --preInclude='Digitization/ForceUseOfPileUpTools.py,SimulationJobOptions/preInclude.PileUpBunchTrainsUpgradeConfig1_25ns.py' --numberOfHighPtMinBias='0.045336' --numberOfLowPtMinBias='39.954664' '--LowPtMinbiasHitsFile=lowPtMinbias.merge.HITS.pool.root' '--HighPtMinbiasHitsFile=highPtMinbias.merge.HITS.pool.root' --jobNumber='1' --postExec="mm=job.PileUpToolsAlg.PileUpTools[\"MmDigitizationTool\"];mm.RndmSvc=jobproperties.Digitization.rndmSvc.get_Value();mm.qThreshold=0.00000001;mm.SaveInternalHistos=True;mm.qThresholdForTrigger=2;mm.ValidationSetup=True;streamRDO.ItemList+=[\"MuonSimDataCollection#MM_SDO\",\"MuonSimDataCollection#sTGC_SDO\",\"GenericMuonSimHitCollection#InputMicroMegasHits\"];from MuonPRDTest.MuonPRDTestConf
import NSWPRDValAlg;job+=NSWPRDValAlg(\"NSWPRDValAlg\",doSTGCFastDigit=False,doMMFastDigit=False,doSTGCHit=True,doSTGCDigit=True,NSWMM_ContainerName=\"InputMicroMegasHits\",NSWsTGC_DigitContainerName=\"sTGC_DIGITS\");from GaudiSvc.GaudiSvcConf
import THistSvc;ServiceMgr += THistSvc();ServiceMgr.THistSvc.Output=[\"NSWPRDValAlg DATAFILE=\'NSWPRDValAlg.root\' OPT=\'RECREATE\'\"]"
Major updates:
--
GeraldineConti - 15-January-2014
--
RaniaSidiropoulou - 16 Mar 2014
Never reviewed