1 #ifndef BEAMFLASHTRACKMATCHTAGGERALG_H
2 #define BEAMFLASHTRACKMATCHTAGGERALG_H
17 namespace fhicl {
class ParameterSet; }
18 namespace geo {
class GeometryCore; }
19 namespace detinfo {
class LArProperties; }
20 namespace phot {
class PhotonVisibilityService; }
21 namespace opdet {
class OpDigiProperties; }
28 #include "nusimdata/SimulationBase/MCParticle.h"
35 class BeamFlashTrackMatchTaggerAlg;
49 std::vector<recob::Track>
const&,
50 std::vector<anab::CosmicTag>&,
60 std::vector<recob::OpFlash>
const&,
61 std::vector<recob::Track>
const&,
68 std::vector<recob::OpFlash>
const&,
69 std::vector<simb::MCParticle>
const&,
126 leaf_structure(
"run/i:event/i:flash_index/i:flash_totalPE/F:flash_y/F:flash_sigmay/F:flash_z/F:flash_sigmaz/F:flash_nOpDet/i:hyp_index/i:hyp_totalPE/F:hyp_y/F:hyp_sigmay/F:hyp_z/F:hyp_sigmaz/F:trk_startx/F:trk_starty/F:trk_startz/F:trk_endx/F:trk_endy/F:trk_endz/F:chi2/F"){}
161 std::vector<float> & lightHypothesis,
162 float & totalHypothesisPE,
165 float const& PromptMIPScintYield,
169 float const& totalHypothesisPE,
185 float CalculateChi2(std::vector<float>
const&,std::vector<float>
const&);
CompatibilityResultType CheckCompatibility(std::vector< float > const &lightHypothesis, const recob::OpFlash *flashPointer, geo::GeometryCore const &geom)
BeamFlashTrackMatchTaggerAlg(fhicl::ParameterSet const &p)
FlashComparisonProperties()
float fCumulativeChannelThreshold
enum anab::cosmic_tag_id CosmicTagID_t
bool fNormalizeHypothesisToFlash
void RunHypothesisComparison(unsigned int const, unsigned int const, std::vector< recob::OpFlash > const &, std::vector< recob::Track > const &, Providers_t, phot::PhotonVisibilityService const &, opdet::OpDigiProperties const &)
float CalculateChi2(std::vector< float > const &, std::vector< float > const &)
process_name use argoneut_mc_hitfinder track
struct cosmic::BeamFlashTrackMatchTaggerAlg::FlashComparisonProperties FlashComparisonProperties_t
void RunCompatibilityCheck(std::vector< recob::OpFlash > const &, std::vector< recob::Track > const &, std::vector< anab::CosmicTag > &, std::vector< size_t > &, Providers_t, phot::PhotonVisibilityService const &, opdet::OpDigiProperties const &)
lar::ProviderPack< geo::GeometryCore, detinfo::LArProperties > Providers_t
Pack of provider-interface supporting services we need.
std::vector< float > GetMIPHypotheses(recob::Track const &track, Providers_t providers, phot::PhotonVisibilityService const &pvs, opdet::OpDigiProperties const &, float XOffset=0)
const anab::CosmicTagID_t COSMIC_TYPE_OUTSIDEDRIFT
std::vector< float > cOpDetVector_flash
void NormalizeLightHypothesis(std::vector< float > &lightHypothesis, float const &totalHypothesisPE, geo::GeometryCore const &geom)
void AddLightFromSegment(TVector3 const &pt1, TVector3 const &pt2, std::vector< float > &lightHypothesis, float &totalHypothesisPE, geo::GeometryCore const &geom, phot::PhotonVisibilityService const &pvs, float const &PromptMIPScintYield, float XOffset)
FlashComparisonProperties_t cFlashComparison_p
bool fMakeOutsideDriftTags
void PrintTrackProperties(recob::Track const &, std::ostream *output=&std::cout)
unsigned int flash_nOpDet
Description of geometry of one entire detector.
std::string leaf_structure
void SetHypothesisComparisonTree(TTree *, TH1F *, TH1F *)
Provides recob::Track data product.
unsigned int fCumulativeChannelCut
std::vector< float > cOpDetVector_hyp
void PrintHypothesisFlashComparison(std::vector< float > const &, const recob::OpFlash *, geo::GeometryCore const &geom, CompatibilityResultType, std::ostream *output=&std::cout)
Container for a list of pointers to providers.
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG simSlidingORM6O6 effSlidingORW output
bool InDriftWindow(double, double, geo::GeometryCore const &)
void FillFlashProperties(std::vector< float > const &opdetVector, float &, float &, float &, float &, float &, geo::GeometryCore const &geom)
const anab::CosmicTagID_t COSMIC_TYPE_FLASHMATCH
Data structure containing constant pointers to classes.
bool InDetector(TVector3 const &, geo::GeometryCore const &)
BEGIN_PROLOG could also be cout
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track:
void PrintFlashProperties(recob::OpFlash const &, std::ostream *output=&std::cout)