Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-14 08:11:40

0001 #!/usr/bin/env python3
0002 import os
0003 import argparse
0004 
0005 import acts
0006 
0007 from acts.examples import CsvMuonSpacePointReader, CsvMuonSegmentReader, MuonHoughSeeder
0008 
0009 # from acts.examples.reconstruction import (
0010 #     addSeeding,
0011 #     addStandardSeeding,
0012 #     SeedingAlgorithm,
0013 # )
0014 
0015 # from acts.examples.itk import itkSeedingAlgConfig, InputSpacePointsType
0016 
0017 u = acts.UnitConstants
0018 rnd = acts.examples.RandomNumbers(seed=42)
0019 
0020 
0021 def runHoughFromCsv(inDir):
0022     # create temporary file with pixel SPs and run the seeding
0023 
0024     s = acts.examples.Sequencer(events=8, numThreads=1, logLevel=acts.logging.VERBOSE)
0025 
0026     # Read input space points from input csv files
0027     evReader = CsvMuonSpacePointReader(
0028         inputStem="SpacePoints",
0029         inputDir=os.path.dirname(inDir),
0030         outputSpacePoints="MuonSpacePoints",
0031         level=acts.logging.VERBOSE,
0032     )
0033 
0034     truthReader = CsvMuonSegmentReader(
0035         inputStem="MuonTruthSegment",
0036         inputDir=os.path.dirname(inDir),
0037         outputSegments="MuonTruthSegments",
0038         level=acts.logging.VERBOSE,
0039     )
0040 
0041     # add csv reader
0042     s.addReader(evReader)
0043     s.addReader(truthReader)
0044     ### Add the hough seeder algorithm
0045     seeder = MuonHoughSeeder(
0046         inSpacePoints=evReader.config.outputSpacePoints,
0047         inTruthSegments=truthReader.config.outputSegments,
0048         outHoughMax="MuonHoughSeeds",
0049         level=acts.logging.VERBOSE,
0050     )
0051 
0052     s.addAlgorithm(seeder)
0053     s.run()
0054 
0055 
0056 if "__main__" == __name__:
0057     p = argparse.ArgumentParser(
0058         description="Example script to run ITk seed finding based on CSV spacepoints",
0059     )
0060     p.add_argument(
0061         "indir",
0062         help="Input directory containing the ITk standalone geometry. Get in touch if you don't have this.",
0063     )
0064 
0065     args = p.parse_args()
0066 
0067     runHoughFromCsv(args.indir)