34 #include "TLorentzVector.h" 36 #include <Math/Vector3D.h> 37 #include "TMVA/Reader.h" 53 std::map<double,const art::Ptr<recob::Hit> >
hitMap;
63 double operator() (
const double * p) {
65 ROOT::Math::XYZVector x0(p[0], p[2], p[4] );
66 ROOT::Math::XYZVector u(p[1],p[3], p[5] );
69 double *
x = fGraph->GetX();
70 double *
y = fGraph->GetY();
71 double *
z = fGraph->GetZ();
72 int npoints = fGraph->GetN();
74 for (
int i = 0; i < npoints; ++i) {
75 ROOT::Math::XYZVector xp(x[i],y[i],z[i]);
76 sum += ((xp-x0).Cross(u)) .Mag2();
112 double& coreHaloRatio,
double& concentration,
113 double& conicalness);
145 std::vector<art::Ptr<recob::Hit> >
fHits;
147 std::map<art::Ptr<recob::Track>,std::vector<art::Ptr<recob::Hit> > >
fTracksToHits;
149 std::map<art::Ptr<recob::Shower>,std::vector<art::Ptr<recob::Hit> > >
fShowersToHits;
169 #endif // ifndef MVAAlg_H
std::vector< art::Ptr< recob::Shower > > fShowers
double CalcSegmentdEdxDist(const SortedObj &track, double start, double end)
anab::MVAPIDResult fResHolder
std::map< art::Ptr< recob::Hit >, art::Ptr< recob::SpacePoint > > fHitsToSpacePoints
const calo::CalorimetryAlg fCaloAlg
int LinFit(const art::Ptr< recob::Track > track, TVector3 &trackPoint, TVector3 &trackDir)
SumDistance2(TGraph2D *g)
std::map< art::Ptr< recob::Track >, std::vector< art::Ptr< recob::SpacePoint > > > fTracksToSpacePoints
std::vector< std::string > fMVAMethods
double CalcSegmentdEdxFrac(const SortedObj &track, double start, double end)
Declaration of signal hit object.
int IsInActiveVol(const TVector3 &pos)
std::string fSpacePointLabel
void RunPID(art::Event &evt, std::vector< anab::MVAPIDResult > &result, art::Assns< recob::Track, anab::MVAPIDResult, void > &trackAssns, art::Assns< recob::Shower, anab::MVAPIDResult, void > &showerAssns)
std::vector< art::Ptr< recob::Hit > > fHits
void RunPCA(std::vector< art::Ptr< recob::Hit > > &hits, std::vector< double > &eVals, std::vector< double > &eVecs)
int LinFitShower(const art::Ptr< recob::Shower > shower, TVector3 &showerPoint, TVector3 &showerDir)
void SortShower(art::Ptr< recob::Shower > shower, int &isStoppingReco, mvapid::MVAAlg::SortedObj &sortedShower)
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
std::map< art::Ptr< recob::Shower >, std::vector< art::Ptr< recob::Hit > > > fShowersToHits
void PrepareEvent(const art::Event &event)
std::map< art::Ptr< recob::Track >, std::vector< art::Ptr< recob::Hit > > > fTracksToHits
const art::EDProducer * fParentModule
std::vector< art::Ptr< recob::SpacePoint > > fSpacePoints
MVAAlg(fhicl::ParameterSet const &pset, const art::EDProducer *parentModule)
TLorentzVector fVertex4Vect
Declaration of cluster object.
Provides recob::Track data product.
std::string fTrackingLabel
std::map< double, const art::Ptr< recob::Hit > > hitMap
std::map< art::Ptr< recob::Shower >, std::vector< art::Ptr< recob::SpacePoint > > > fShowersToSpacePoints
void reconfigure(fhicl::ParameterSet const &p)
void _Var_Shape(const SortedObj &track, double &coreHaloRatio, double &concentration, double &conicalness)
std::vector< art::Ptr< recob::Track > > fTracks
std::map< int, double > fNormToWiresY
std::map< art::Ptr< recob::SpacePoint >, art::Ptr< recob::Hit > > fSpacePointsToHits
void FitAndSortTrack(art::Ptr< recob::Track > track, int &isStoppingReco, SortedObj &sortedObj)
double CalcSegmentdEdxDistAtEnd(const mvapid::MVAAlg::SortedObj &track, double distAtEnd)
std::map< int, double > fNormToWiresZ
std::vector< std::string > fWeightFiles
Event finding and building.