...
- Prototype class found here
- Contains the basic energy reconstruction parameters
- CalEventEnergy is the "final" output of the Calorimeter energy reconstruction.
- The basic makeup of the class:
- The class derives from an ObjectVector of CalCorToolResult objects, thereby acting as their "Gaudi Container" for the TDS.
- Note that this introduces some interesting problems which cause a couple of issues with ownership and deletion, etc.
- Just need to be aware of this
- Note that this introduces some interesting problems which cause a couple of issues with ownership and deletion, etc.
- The class contains a CalParams object to contain the "final" corrected energy for use outside CalRecon
- It is envisaged that the CalEnergyAlg which creates CalEventEnergy will provide a mechanism (via a Tool or something) which will select the "best" energy solution amongst those returned by the various correction tools
- A status bit word which can
- Keep track of what stage of recon the contained output came from
- Identify which correction tool provided the "final" energy
- etc.
- The class derives from an ObjectVector of CalCorToolResult objects, thereby acting as their "Gaudi Container" for the TDS.
Status as of May 4, 2005
- Above classes implemented with necessary modifications made to:
- CalRecon v5r24p1
- Note: this is already several revisions behind the current CalRecon tag so the modifications made to CalRecon for this demonstration most likely cannot be checked into cvs
- Event v10r3p1
- HepRepSvc v0r13
- RootIO v14r7
- No attempt made to make PDS versions, just mods to reconRootWrigerAlg and reconRootReaderAlg to compile and run
- TkrRecon v10r3p10
- CalRecon v5r24p1
- Add one new Algorithm to CalRecon:
- CalEnergyAlg
- This assumes responsibility for driving the energy correction tools
- Provides user definable correcton tool result selection for the "final" answer
- CalEnergyAlg
- Add one new Tool to CalRecon
- CalRawEnergyTool
- Runs at the end of the first pass iteration of energy recon and serves to sum the energy over all available clusters and re-calculate a "grand" cluster centroid and axis
- Serves as the "super" cluster result
- CalRawEnergyTool
- Modify the job options flow:
No Format Reconstruction.Members={ "Sequencer/Cal1", "Sequencer/Tkr", "Sequencer/Cal2", "Sequencer/TkrIter", "Sequencer/Acd" }; Cal1.Members = { "CalXtalRecAlg", "CalClustersAlg/first", "CalEnergyAlg/RawEnergy" }; Tkr.Members = { "TkrReconAlg/FirstPass" }; Cal2.Members = { "CalEnergyAlg/second" }; TkrIter.Members = { "TkrReconAlg/Iteration" };
- Assumes clustering only need be called in the first pass recon
- Sets up call to CalEnergyAlg which will run only the CalRawEnergyTool in the first pass
- Sets up call to CalEnergyAlg in the second pass which will call all remaining correction tools
- The above structure appears to work in test Gleam jobs (10k 100 MeV gammas and 10k 1 GeV muons). So... on the right track?Is really useful