restructuring anab particleid
play

Restructuring anab::ParticleID Kirsty Duffy and Adam Lister 1 2 - PowerPoint PPT Presentation

Restructuring anab::ParticleID Kirsty Duffy and Adam Lister 1 2 Introduction The current anab::ParticleID class is currently very restrictive. There are currently methods for the Chi2 algorithm and PIDA but nothing else. If you want to add a


  1. Restructuring anab::ParticleID Kirsty Duffy and Adam Lister 1

  2. 2 Introduction The current anab::ParticleID class is currently very restrictive. There are currently methods for the Chi2 algorithm and PIDA but nothing else. If you want to add a PID algorithm, this requires changing LArSoft each time! We’ve recently been doing some PID work on MicroBooNE. In the process, we have developed a new organisation of the anab::ParticleID class which is easily extendable , and should be able to hold results for any potential algorithm we could think of. Previously presented at LArSoft co-ordination meeting on 17th July 2018: have implemented suggestions and now hoping to implement new structure in LArSoft

  3. 3 Overview of new structure The change comes down to replacing all variables with a new vector of sPArticleIDAlgScores structs. Current Proposed

  4. 4 New Struct The change comes down to replacing all variables with a new vector of sPArticleIDAlgScores structs. Algorithm name, defined by experiment developers. Default: “AlgNameNotSet” enum kVariableType { kGOF, // Goodness of Fit kLikelihood, // Likelihood kLogL, // Log-Likelihood kScore, // Generic Particle ID score kPIDA, // PIDA value struct sParticleIDAlgScores { kdEdxtruncmean, // dE/dx versus truncated mean std :: string fAlgName; kdQdxtruncmean, // dQ/dx versus truncated mean kTrackLength, // Track Length kVariableType fVariableType; kEdeposited // Deposited energy kEbyRange // Energy by range kTrackDir fTrackDir; kNotSet // Not set int fAssumedPdg; }; Int fNdf; Default: kNotSet float fValue; std::bitset<5> fPlaneID; enum kTrackDir { kForward, // Direction track is reconstructed } kBackward, // Opposite to reconstruction kNoDirection }; Default: kNoDirection This is fed by c++ algorithms : This is fed by c++ algorithms : ● ● Chi2 Bragg_Likelihood Assumed PDG (for likelihoods, GOFs, etc.). Default: 0 ● ● PIDA Chi2 ● ● PIDA ... Number of degrees of freedom, if applicable. Default: -9999 ● DepVRangeE ● dEdxVLength ● ... Value produced by algorithm. Default: -9999 Plane ID for the algorithm result: Default “00000”

  5. 5 New Struct: fAlgName fAlgName : this is just a string which can be used to identify an algorithm in the absence of anything else (“Chi2”, “PIDA_mean”, etc.). To be defined within experiments. Algorithm name, defined by experiment developers. Default: “AlgNameNotSet” Algorithm name, defined by experiment developers. Default: “AlgNameNotSet” enum kVariableType { kGOF, // Goodness of Fit kLikelihood, // Likelihood kLogL, // Log-Likelihood kScore, // Generic Particle ID score kPIDA, // PIDA value struct sParticleIDAlgScores { struct sParticleIDAlgScores { kdEdxtruncmean, // dE/dx versus truncated mean std :: string fAlgName; std :: string fAlgName; kdQdxtruncmean, // dQ/dx versus truncated mean kTrackLength, // Track Length kVariableType fVariableType; kVariableType fVariableType; kEdeposited // Deposited energy kEbyRange // Energy by range kTrackDir fTrackDir; kTrackDir fTrackDir; kNotSet // Not set int fAssumedPdg; int fAssumedPdg; }; Int fNdf; Int fNdf; Default: kNotSet float fValue; float fValue; std::bitset<5> fPlaneID; std::bitset<5> fPlaneID; enum kTrackDir { kForward, // Direction track is reconstructed } } kBackward, // Opposite to reconstruction kNoDirection }; Default: kNoDirection This is fed by c++ algorithms : This is fed by c++ algorithms : ● ● Bragg_Likelihood Chi2 Assumed PDG (for likelihoods, GOFs, etc.). Default: 0 Assumed PDG (for likelihoods, GOFs, etc.). Default: 0f ● ● PIDA Chi2 ● ● ... PIDA Number of degrees of freedom, if applicable. Default: -9999 ● DepVRangeE ● dEdxVLength ● ... Value produced by algorithm. Default: -9999 Plane ID for the algorithm result: Default “00000”

  6. 6 New Struct: fVariableType kVariableType : an enum which can be used to easily get at the type of variable you want. Algorithm name, defined by experiment developers. Default: “AlgNameNotSet” enum kVariableType { enum kVariableType { kGOF, kGOF, // Goodness of Fit // Goodness of Fit kLikelihood, kLikelihood, // Likelihood // Likelihood kLogL, kLogL, // Log-Likelihood // Log-Likelihood kScore, kScore, // Generic Particle ID score // Generic Particle ID score kPIDA, kPIDA, // PIDA value // PIDA value struct sParticleIDAlgScores { struct sParticleIDAlgScores { kdEdxtruncmean, kdEdxtruncmean, // dE/dx versus truncated mean // dE/dx versus truncated mean std :: string fAlgName; std :: string fAlgName; kdQdxtruncmean, kdQdxtruncmean, // dQ/dx versus truncated mean // dQ/dx versus truncated mean kTrackLength, kTrackLength, // Track Length // Track Length kVariableType fVariableType; kVariableType fVariableType; kEdeposited kEdeposited // Deposited energy // Deposited energy kEbyRange kEbyRange // Energy by range // Energy by range kTrackDir fTrackDir; kTrackDir fTrackDir; kNotSet kNotSet // Not set // Not set int fAssumedPdg; int fAssumedPdg; }; }; Int fNdf; Int fNdf; Default: kNotSet Default: kNotSet float fValue; float fValue; std::bitset<5> fPlaneID; std::bitset<5> fPlaneID; enum kTrackDir { kForward, // Direction track is reconstructed } } kBackward, // Opposite to reconstruction kNoDirection }; Default: kNoDirection This is fed by c++ algorithms : This is fed by c++ algorithms : ● ● Chi2 Bragg_Likelihood Assumed PDG (for likelihoods, GOFs, etc.). Default: 0f ● ● PIDA Chi2 ● ● ... PIDA Number of degrees of freedom, if applicable. Default: -9999 ● DepVRangeE ● dEdxVLength ● ... Value produced by algorithm. Default: -9999 Plane ID for the algorithm result: Default “00000”

  7. 7 New Struct: fTrackDir kTrackDir: enum to represent whether ParticleID score is calculated assuming track goes forwards or backwards (with respect to reconstructed direction) Algorithm name, defined by experiment developers. Default: “AlgNameNotSet” enum kVariableType { kGOF, // Goodness of Fit kLikelihood, // Likelihood kLogL, // Log-Likelihood kScore, // Generic Particle ID score kPIDA, // PIDA value struct sParticleIDAlgScores { struct sParticleIDAlgScores { kdEdxtruncmean, // dE/dx versus truncated mean std :: string fAlgName; std :: string fAlgName; kdQdxtruncmean, // dQ/dx versus truncated mean kTrackLength, // Track Length kVariableType fVariableType; kVariableType fVariableType; kEdeposited // Deposited energy kEbyRange // Energy by range kTrackDir fTrackDir; kTrackDir fTrackDir; kNotSet // Not set int fAssumedPdg; int fAssumedPdg; }; Int fNdf; Int fNdf; Default: kNotSet float fValue; float fValue; std::bitset<5> fPlaneID; std::bitset<5> fPlaneID; enum kTrackDir { enum kTrackDir { kForward, kForward, // Direction track is reconstructed // Direction track is reconstructed } } kBackward, kBackward, // Opposite to reconstruction // Opposite to reconstruction kNoDirection kNoDirection }; }; Default: kNoDirection Default: kNoDirection This is fed by c++ algorithms : This is fed by c++ algorithms : ● ● Bragg_Likelihood Chi2 Assumed PDG (for likelihoods, GOFs, etc.). Default: 0f ● ● PIDA Chi2 ● ● PIDA ... Number of degrees of freedom, if applicable. Default: -9999 ● DepVRangeE ● dEdxVLength ● ... Value produced by algorithm. Default: -9999 Plane ID for the algorithm result: Default “00000”

  8. 8 New Struct: fAssumedPdg fAssumedPdg : This is used for algorithms where an assumption about the particle species is made (e.g. Chi2 with respect to the Muon hypothesis). Algorithm name, defined by experiment developers. Default: “AlgNameNotSet” enum kVariableType { kGOF, // Goodness of Fit kLikelihood, // Likelihood kLogL, // Log-Likelihood kScore, // Generic Particle ID score kPIDA, // PIDA value struct sParticleIDAlgScores { struct sParticleIDAlgScores { kdEdxtruncmean, // dE/dx versus truncated mean std :: string fAlgName; std :: string fAlgName; kdQdxtruncmean, // dQ/dx versus truncated mean kTrackLength, // Track Length kVariableType fVariableType; kVariableType fVariableType; kEdeposited // Deposited energy kEbyRange // Energy by range kTrackDir fTrackDir; kTrackDir fTrackDir; kNotSet // Not set int fAssumedPdg; int fAssumedPdg; }; Int fNdf; Int fNdf; Default: kNotSet float fValue; float fValue; std::bitset<5> fPlaneID; std::bitset<5> fPlaneID; enum kTrackDir { kForward, // Direction track is reconstructed } } kBackward, // Opposite to reconstruction kNoDirection }; Default: kNoDirection This is fed by c++ algorithms : This is fed by c++ algorithms : ● ● Bragg_Likelihood Chi2 Assumed PDG (for likelihoods, GOFs, etc.). Default: 0f Assumed PDG (for likelihoods, GOFs, etc.). Default: 0 Assumed PDG (for likelihoods, GOFs, etc.). Default: 0f ● ● PIDA Chi2 ● ● ... PIDA Number of degrees of freedom, if applicable. Default: -9999 ● DepVRangeE ● dEdxVLength ● ... Value produced by algorithm. Default: -9999 Plane ID for the algorithm result: Default “00000”

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend