LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
TCShower.cxx File Reference
#include "larreco/RecoAlg/TCAlg/TCShower.h"
#include "cetlib/search_path.h"
#include "messagefacility/MessageLogger/MessageLogger.h"
#include "larcorealg/Geometry/GeometryCore.h"
#include "larcorealg/Geometry/TPCGeo.h"
#include "larcoreobj/SimpleTypesAndConstants/geo_types.h"
#include "lardataalg/DetectorInfo/DetectorPropertiesData.h"
#include "lardataobj/RecoBase/Hit.h"
#include "larreco/RecoAlg/TCAlg/DebugStruct.h"
#include "larreco/RecoAlg/TCAlg/PFPUtils.h"
#include "larreco/RecoAlg/TCAlg/TCShTree.h"
#include "larreco/RecoAlg/TCAlg/TCVertex.h"
#include "larreco/RecoAlg/TCAlg/Utils.h"
#include <algorithm>
#include <array>
#include <bitset>
#include <climits>
#include <cmath>
#include <iomanip>
#include <iostream>
#include <string>
#include <utility>
#include <vector>
#include "TMVA/Reader.h"

Go to the source code of this file.

Namespaces

 tca
 

Functions

void tca::ConfigureMVA (TCConfig &tcc, std::string fMVAShowerParentWeights)
 
bool tca::FindShowerStart (detinfo::DetectorPropertiesData const &detProp, TCSlice &slc, ShowerStruct3D &ss3, bool prt)
 
void tca::Finish3DShowers (TCSlice &slc)
 
bool tca::FindShowers3D (detinfo::DetectorPropertiesData const &detProp, TCSlice &slc)
 
bool tca::Reconcile3D (std::string inFcnLabel, TCSlice &slc, bool parentSearchDone, bool prt)
 
bool tca::Reconcile3D (std::string inFcnLabel, TCSlice &slc, ShowerStruct3D &ss3, bool prt)
 
void tca::KillVerticesInShower (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss, bool prt)
 
bool tca::CompleteIncompleteShower (std::string inFcnLabel, TCSlice &slc, ShowerStruct3D &ss3, bool prt)
 
bool tca::UpdateShower (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss, bool prt)
 
bool tca::UpdateShower (std::string inFcnLabel, TCSlice &slc, ShowerStruct3D &ss3, bool prt)
 
float tca::Match3DFOM (detinfo::DetectorPropertiesData const &detProp, std::string inFcnLabel, TCSlice &slc, ShowerStruct3D &ss3, bool prt)
 
float tca::Match3DFOM (detinfo::DetectorPropertiesData const &detProp, std::string inFcnLabel, TCSlice &slc, int icid, int jcid, int kcid, bool prt)
 
float tca::Match3DFOM (detinfo::DetectorPropertiesData const &detProp, std::string inFcnLabel, TCSlice &slc, int icid, int jcid, bool prt)
 
void tca::MergeTjList (std::vector< std::vector< int >> &tjList)
 
bool tca::RemovePFP (std::string inFcnLabel, TCSlice &slc, PFPStruct &pfp, ShowerStruct3D &ss3, bool doUpdate, bool prt)
 
bool tca::AddPFP (std::string inFcnLabel, TCSlice &slc, int pID, ShowerStruct3D &ss3, bool doUpdate, bool prt)
 
bool tca::AddTj (std::string inFcnLabel, TCSlice &slc, int tjID, ShowerStruct &ss, bool doUpdate, bool prt)
 
bool tca::RemoveTj (std::string inFcnLabel, TCSlice &slc, int TjID, ShowerStruct &ss, bool doUpdate, bool prt)
 
bool tca::FindParent (detinfo::DetectorPropertiesData const &detProp, std::string inFcnLabel, TCSlice &slc, ShowerStruct3D &ss3, bool prt)
 
bool tca::SetParent (detinfo::DetectorPropertiesData const &detProp, std::string inFcnLabel, TCSlice &slc, PFPStruct &pfp, ShowerStruct3D &ss3, bool prt)
 
bool tca::IsShowerLike (TCSlice const &slc, std::vector< int > const &TjIDs)
 
void tca::ShowerParams (double showerEnergy, double &shMaxAlong, double &along95)
 
double tca::ShowerParamTransRMS (double showerEnergy, double along)
 
double tca::InShowerProbLong (double showerEnergy, double along)
 
double tca::InShowerProbTrans (double showerEnergy, double along, double trans)
 
double tca::InShowerProbParam (double showerEnergy, double along, double trans)
 
float tca::InShowerProb (TCSlice &slc, const ShowerStruct3D &ss3, const PFPStruct &pfp)
 
float tca::InShowerProb (TCSlice &slc, const ShowerStruct &ss, const Trajectory &tj)
 
float tca::ParentFOM (std::string inFcnLabel, TCSlice &slc, PFPStruct &pfp, ShowerStruct3D &ss3, bool prt)
 
float tca::ParentFOM (std::string inFcnLabel, TCSlice &slc, Trajectory &tj, unsigned short &tjEnd, ShowerStruct &ss, float &tp1Sep, float &vx2Score, bool prt)
 
bool tca::WrongSplitTj (std::string inFcnLabel, TCSlice &slc, Trajectory &tj, unsigned short tjEnd, bool prt)
 
void tca::MergeNearby2DShowers (std::string inFcnLabel, TCSlice &slc, const CTP_t &inCTP, bool prt)
 
void tca::MergeOverlap (std::string inFcnLabel, TCSlice &slc, const CTP_t &inCTP, bool prt)
 
void tca::MergeShowerChain (std::string inFcnLabel, TCSlice &slc, const CTP_t &inCTP, bool prt)
 
void tca::MergeSubShowersTj (std::string inFcnLabel, TCSlice &slc, const CTP_t &inCTP, bool prt)
 
void tca::MergeSubShowers (std::string inFcnLabel, TCSlice &slc, const CTP_t &inCTP, bool prt)
 
int tca::MergeShowers (std::string inFcnLabel, TCSlice &slc, std::vector< int > ssIDs, bool prt)
 
bool tca::MergeShowersAndStore (std::string inFcnLabel, TCSlice &slc, int icotID, int jcotID, bool prt)
 
bool tca::MergeShowerTjsAndStore (TCSlice &slc, unsigned short istj, unsigned short jstj, bool prt)
 
bool tca::AnalyzeRotPos (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss, bool prt)
 
void tca::ReverseShower (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss, bool prt)
 
void tca::ReverseShower (std::string inFcnLabel, TCSlice &slc, int cotID, bool prt)
 
void tca::MakeShowerObsolete (std::string inFcnLabel, TCSlice &slc, ShowerStruct3D &ss3, bool prt)
 
void tca::MakeShowerObsolete (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss, bool prt)
 
bool tca::DontCluster (TCSlice const &slc, const std::vector< int > &tjlist1, const std::vector< int > &tjlist2)
 
void tca::TagShowerLike (TCSlice &slc, const CTP_t &inCTP)
 
void tca::FindNearbyTjs (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss, bool prt)
 
void tca::AddCloseTjsToList (TCSlice &slc, unsigned short itj, std::vector< int > list)
 
void tca::DefineEnvelope (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss, bool prt)
 
bool tca::AddTjsInsideEnvelope (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss, bool prt)
 
bool tca::AddLooseHits (TCSlice &slc, int cotID, bool prt)
 
void tca::FindStartChg (std::string inFcnLabel, TCSlice &slc, int cotID, bool prt)
 
std::vector< float > tca::StartChgVec (TCSlice &slc, int cotID)
 
void tca::DumpShowerPts (TCSlice &slc, int cotID)
 
bool tca::TransferTjHits (TCSlice &slc, bool prt)
 
int tca::GetCotID (TCSlice &slc, int ShowerTjID)
 
double tca::ShowerEnergy (const ShowerStruct3D &ss3)
 
float tca::ShowerEnergy (TCSlice &slc, const std::vector< int > tjIDs)
 
float tca::ChgToMeV (float chg)
 
bool tca::StoreShower (std::string inFcnLabel, TCSlice &slc, ShowerStruct3D &ss3)
 
bool tca::StoreShower (std::string inFcnLabel, TCSlice &slc, ShowerStruct &ss)
 
ShowerStruct3D tca::CreateSS3 (TCSlice &slc)
 
ShowerStruct tca::CreateSS (TCSlice &slc, const std::vector< int > &tjl)
 
bool tca::ChkAssns (std::string inFcnLabel, TCSlice &slc)
 
void tca::PrintShowers (detinfo::DetectorPropertiesData const &detProp, std::string fcnLabel, TCSlice const &slc)
 
void tca::Print2DShowers (std::string someText, TCSlice const &slc, CTP_t inCTP, bool printKilledShowers)
 
void tca::PrintShower (std::string someText, TCSlice const &slc, const ShowerStruct &ss, bool printHeader, bool printExtras)