Download presentation
Presentation is loading. Please wait.
Published byEdgar Clinton Nash Modified over 9 years ago
1
27/02/04 ATLAS weekTileCal Athena tutorial, part 21 TileCal Athena tutorial Part 2: Reading GEANT hits from ZEBRA and POOL Reading HLT and testbeam ByteStream files Alexander Solodkov IHEP, Protvino, Russia
2
27/02/04 ATLAS weekTileCal Athena tutorial, part 22 Building TestRelease This what we did half an hour ago cmt co TestRelease cd TestRelease/TestRelease-00-00-15/cmt cmt config make../setup.sh cd../run
3
27/02/04 ATLAS weekTileCal Athena tutorial, part 23 Preparing Job options Copy jobOptions file get_file –jo jobOptions_TileRec.txt Edit jobOptions file set max number events to read ApplicationMgr.EvtMax = 100; set output level to INFO (to supress DEBUG output) MessageSvc.OutputLevel = 3; Add CronoAauditor (to see time spent in algorithms) ApplicationMgr.DLLs += { "GaudiAud" }; AuditorSvc.Auditors += { "ChronoAuditor"}; Remove noise in TileCal #include "TileConditions/TileNoiseOff_jobOptions.txt"
4
27/02/04 ATLAS weekTileCal Athena tutorial, part 24 Running Athena with ZEBRA input Find appropriate ZEBRA file and make link to it Test file with few events ln -s /afs/cern.ch/atlas/offline/data/testfile/dc1.001003.simul.0001.test.h130 _2e2mu_extract.zebra ZEBRA.P DC1 production (jets) ln –s /castor/cern.ch/atlas/project/dc1/simul/data/002045/dc1.002045.simul. 00001.hlt.pythia_jet_560.zebra ZEBRA.P Run Athena atena.exe jobOptions_TileRec.txt > rec1.out
5
27/02/04 ATLAS weekTileCal Athena tutorial, part 25 Looking at the output tilerec.ntup file contains 2 ntuples ID=30 – all TileHits (energy from PMT in GeV before sampling fraction correction) ID=70 – all TileRawChannels (energy in PMT in ADC counts) Open ntuple in PAW and plot some distributions PAW> hi/fil 1 tilerec.ntup PAW> cd TILEREC PAW> nt/pri 30 PAW> nt/plo 30.totalE PAW> nt/pri 70 PAW> nt/plo 70.totalE
6
27/02/04 ATLAS weekTileCal Athena tutorial, part 26 Working with ByteStream file Copy jobOptions file get_file –jo jobOptions_WriteTileBS.txt get_file –jo jobOptions_ReadTileBS.txt Create ByteStream file athena.exe jobOptions_WriteTileBS.txt > write1.out Output: RawEvent.re – bytestream file in T/DAQ format tilebs_write.ntup – ntuple with raw channels Read from ByteStream file athena.exe jobOptions_ReadTileBS.txt > read1.out Output tilebs_read.ntup Compare total energy in tilebs_write.ntup and tilebs_read.ntup Do you see difference?
7
27/02/04 ATLAS weekTileCal Athena tutorial, part 27 If reading from ByteStream didn’t work TileCal detector description can be initialized from 3 different sources: ZEBRA file Special ROOT Det.Descr file, prepared with every release NOVA database via GeoModel When we read from ByteStream, we can use ROOT file (current default) or can switch to GeoModel #include "TileGeoModel/TileGeoModel_jobOptions.txt" #include "TileDetMgrDetDescrCnv/TileDetMgrDetDescrCnv_jobOptions.txt" DetDescrCnvSvc.ReadFromNova = true ; Put all these lines in jobOptions_ReadTileBS.txt instead of #include "TDRDetDescrAthenaRoot/TDRDetDescrAthenaRoot_jobOptions.txt … and run again
8
27/02/04 ATLAS weekTileCal Athena tutorial, part 28 Reading Geant4 hits (preparation) Switch to latest good nightly Logout and login again mkdir $HOME/night2 cd night2 cp../cmtwork/requirements. Edit requirements and put macro ATLAS_RELEASE "nightlies/rel/atlrel_2“.../cmtwork/cmt_init Extract packages from CVS cmt co TestRelease cmt co Simulation/Digitization Rebuild everything Check your quota first: “fs listacl” If too small – remove some files from your previous $HOME/cmtwork directory cd TestRelease/TestRelease-00-00-15/cmt cmt broadcast make
9
27/02/04 ATLAS weekTileCal Athena tutorial, part 29 Reading Geant4 hits from POOL Initialize run-time environment../setup.sh cd../run Copy input files and XML catalog cp ~tilecal/www/General/documents/tutotial/*.xml. cp ~tilecal/www/General/documents/tutotial/*.root. Prepare jobOptions cp../../../Simulation/Digitization/Digitization*/share/AtlasDigitization.txt. In AtlasDigitization.txt remove all non-Tile stuff and TDRDetDescrAthenaROOT, put EventSelector.InputCollection = "TileHits.root"; #include "TileRec/TileG4ToRC_jobOptions.txt" #include "TileConditions/TileNoiseOff_jobOptions.txt" // no noise for debugging TileHitVecToCnt.TileHitVector = "TileG4Hits"; // temporary fix before release 8.0.0 Copy everything you want from your old jobOptions_TileRec.txt to AtlasDigitization.txt Run Athena unset POOL_CATALOG athena.exe AtlasDigitization.txt
10
27/02/04 ATLAS weekTileCal Athena tutorial, part 210 Reading testbeam data Prepare jobOptions get_files –jo jobOptions_TileTB_castor.txt Add parameters you want (see ntuple_HOWTO at http://agenda.cern.ch/fullAgenda.php?ida=a04802 in extra materials of Karl talk) http://agenda.cern.ch/fullAgenda.php?ida=a04802 Run Athena athena.exe jobOptions_TileTB_castor.txt > tb1.out Look at the ntuple created tiletb.ntup, ntuple id=71 in subdirectory tilerec Read ROBID_HOWTO at the same web page Extract TileCalorimeter/TileSvc/TileByteStream package from CVS modify and compile it Change run number in jobOptions file from 360966 to 350220 and try again
11
27/02/04 ATLAS weekTileCal Athena tutorial, part 211 Writing new algorithm Let’s create new algorithm in empty package cmt co TileCalorimeter/TileRec cmt co TileCalorimeter/TileAthena Go to TileAthena package, copy several files from TileRec package to appropriate places in TileAthena cmt/requirements TileRec/TileHitToNtuple.h src/TileHitToNtuple.cxx src/components/* Rename both.cxx and.h files to TileHitTest.* Rename files in components directory to TileAthena* Edit all copied files and replace all occurrences of TileRec by TileAthena, TileHitToNtuple by TileHitTest Compile the code Go to TestRelease/run directory and modify jobOptions_TileRec.txt Add TileAthena DLL Replace TileHitToNtuple by TileHitTest everywhere Try to run If you have time – try to book and fill histogram with total energy
12
27/02/04 ATLAS weekTileCal Athena tutorial, part 212 Putting code to repository Go to your TileAthena directory and inform CVS about new files cvs add TileAthena/TileHitTest.h src/TileHitTest.cxx src/components cvs src/components/* Edit ChangeLog files emacs ChangeLog Press control-X 4 A Write your comments below today date Make sure that your changes are not in conflict with repository (update your files to latest version from repository) cvs update –A If there are conflicts – try to resolve them CVS puts “ >>>>>>>” around conflicting lines in the file After you resolve conflicts – try to rebuild and run again Commit and tag cvs ci –m “TileHitTest algorithm added “ cvs tag TileAthena-00-00-01 Then, go to Tag Collector and declare your tag Before doing this make sure that your code is working with latest nightly and with all new packages which appeared after last nightly
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.