Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
dunereco
dunereco
HitFinderDUNE
TimeBasedDisambig.h
Go to the documentation of this file.
1
/////////////////////////////////////////////////////////////////
2
//
3
// Disambiguation algorithm based on Tom Junk's idea of 3-view matching
4
// Start from code written by talion@gmail.com
5
// trj@fnal.gov
6
// tjyang@fnal.gov
7
// iamjaejunkim@gmail.com
8
//
9
////////////////////////////////////////////////////////////////////
10
#ifndef TimeBasedDisambig_H
11
#define TimeBasedDisambig_H
12
#include <vector>
13
#include <map>
14
#include <cmath>
15
#include <iostream>
16
#include <stdint.h>
17
18
#include "
art/Framework/Services/Registry/ServiceHandle.h
"
19
#include "
fhiclcpp/ParameterSet.h
"
20
#include "
canvas/Persistency/Common/Ptr.h
"
21
#include "
canvas/Persistency/Common/PtrVector.h
"
22
#include "
art/Framework/Principal/Event.h
"
23
24
#include "
larcore/Geometry/Geometry.h
"
25
#include "
larcoreobj/SimpleTypesAndConstants/geo_types.h
"
26
#include "
lardataobj/RecoBase/Wire.h
"
27
#include "
lardataobj/RecoBase/Hit.h
"
28
#include "
lardataobj/RecoBase/Cluster.h
"
29
#include "
APAGeometryAlg.h
"
30
31
#include "TMatrixD.h"
32
#include "TVectorD.h"
33
34
35
//hit positions need to be saved as a histogram to apply position-correction function but since
36
//the defined hit object does not have elements to save position informations, induction plane
37
//hits with their corresponding wireid and returned positions need to be saved in a separate set
38
//of variables thus defined a struct of a vector to save all predefined variables in the hit object
39
//with returned and simulated positions and wireid
40
41
//define a struct of a vector to save hit information including simulated hit information
42
struct
HitPos
{
43
unsigned
int
Channel
;
44
unsigned
int
StartTick
;
45
unsigned
int
EndTick
;
46
double
PeakTime
;
47
double
SigmaPeakTime
;
48
double
RMS
;
49
double
PeakAmplitude
;
50
double
SigmaPeakAmplitude
;
51
double
SummedADC
;
52
double
Integral
;
53
double
SigmaIntegral
;
54
unsigned
int
Multiplicity
;
55
unsigned
int
LocalIndex
;
56
double
GoodnessOfFit
;
57
int
DegreesOfFreedom
;
58
geo::View_t
View
;
59
geo::SigType_t
SignalType
;
60
geo::WireID
WireID
;
61
double
FinalYPos
;
62
double
FinalZPos
;
63
unsigned
int
TPC
;
64
unsigned
int
DisambigWireID
;
65
//double SimYPos;
66
//double SimZPos;
67
//double SimWireID;
68
};
69
70
71
namespace
dune
{
72
73
//---------------------------------------------------------------
74
class
TimeBasedDisambig
{
75
public
:
76
77
78
TimeBasedDisambig
(
fhicl::ParameterSet
const
& pset);
79
80
void
reconfigure
(
fhicl::ParameterSet
const
&
p
);
81
82
void
RunDisambig(
const
std::vector
<
art::Ptr<recob::Hit>
> &OrigHits );
83
//void RunDisambig();
84
///< Run disambiguation as currently configured
85
86
87
std::vector< std::pair<art::Ptr<recob::Hit>,
geo::WireID
> >
fDisambigHits
;
88
///< The final list of hits to pass back to be made
89
90
91
92
93
94
private
:
95
96
// other classes we will use
97
dune::apa::APAGeometryAlg
fAPAGeo
;
98
double
fTimeCut
;
99
double
fDistanceCut
;
100
double
fDistanceCutClu
;
101
};
// class TimeBasedDisambig
102
103
}
// namespace dune
104
105
#endif // ifndef TimeBasedDisambig_H
dune
Definition:
PdspHDFFileReader.hh:29
HitPos::PeakTime
double PeakTime
Definition:
TimeBasedDisambig.h:46
HitPos::EndTick
unsigned int EndTick
Definition:
TimeBasedDisambig.h:45
HitPos::FinalZPos
double FinalZPos
Definition:
TimeBasedDisambig.h:62
HitPos::DisambigWireID
unsigned int DisambigWireID
Definition:
TimeBasedDisambig.h:64
dune::apa::APAGeometryAlg
Definition:
APAGeometryAlg.h:39
geo::View_t
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
dune::TimeBasedDisambig::fDistanceCutClu
double fDistanceCutClu
Definition:
TimeBasedDisambig.h:100
HitPos::SummedADC
double SummedADC
Definition:
TimeBasedDisambig.h:51
HitPos::Channel
unsigned int Channel
Definition:
TimeBasedDisambig.h:43
dune::TimeBasedDisambig::fTimeCut
double fTimeCut
Definition:
TimeBasedDisambig.h:98
vector
struct vector vector
HitPos::SigmaPeakTime
double SigmaPeakTime
Definition:
TimeBasedDisambig.h:47
geo::WireID
Definition:
geo_types.h:560
PtrVector.h
HitPos::DegreesOfFreedom
int DegreesOfFreedom
Definition:
TimeBasedDisambig.h:57
HitPos::SigmaIntegral
double SigmaIntegral
Definition:
TimeBasedDisambig.h:53
HitPos::FinalYPos
double FinalYPos
Definition:
TimeBasedDisambig.h:61
HitPos::LocalIndex
unsigned int LocalIndex
Definition:
TimeBasedDisambig.h:55
Geometry.h
art framework interface to geometry description
ParameterSet.h
ServiceHandle.h
HitPos::Integral
double Integral
Definition:
TimeBasedDisambig.h:52
HitPos::StartTick
unsigned int StartTick
Definition:
TimeBasedDisambig.h:44
RunHistoryService::reconfigure
virtual void reconfigure(fhicl::ParameterSet const &pset)
HitPos::GoodnessOfFit
double GoodnessOfFit
Definition:
TimeBasedDisambig.h:56
geo::SigType_t
enum geo::_plane_sigtype SigType_t
HitPos::View
geo::View_t View
Definition:
TimeBasedDisambig.h:58
HitPos::SignalType
geo::SigType_t SignalType
Definition:
TimeBasedDisambig.h:59
dune::TimeBasedDisambig::fDistanceCut
double fDistanceCut
Definition:
TimeBasedDisambig.h:99
Cluster.h
Ptr.h
test.p
p
Definition:
test.py:223
HitPos::PeakAmplitude
double PeakAmplitude
Definition:
TimeBasedDisambig.h:49
dune::TimeBasedDisambig::fDisambigHits
std::vector< std::pair< art::Ptr< recob::Hit >, geo::WireID > > fDisambigHits
< Run disambiguation as currently configured
Definition:
TimeBasedDisambig.h:87
geo_types.h
Definition of data types for geometry description.
dune::TimeBasedDisambig::fAPAGeo
dune::apa::APAGeometryAlg fAPAGeo
Definition:
TimeBasedDisambig.h:97
Hit.h
Declaration of signal hit object.
APAGeometryAlg.h
HitPos::TPC
unsigned int TPC
Definition:
TimeBasedDisambig.h:63
dune::TimeBasedDisambig
Definition:
TimeBasedDisambig.h:74
HitPos
Definition:
TimeBasedDisambig.h:42
HitPos::WireID
geo::WireID WireID
Definition:
TimeBasedDisambig.h:60
HitPos::SigmaPeakAmplitude
double SigmaPeakAmplitude
Definition:
TimeBasedDisambig.h:50
Wire.h
Declaration of basic channel signal object.
Event.h
art::Ptr< recob::Hit >
HitPos::Multiplicity
unsigned int Multiplicity
Definition:
TimeBasedDisambig.h:54
fhicl::ParameterSet
Definition:
ParameterSet.h:36
HitPos::RMS
double RMS
Definition:
TimeBasedDisambig.h:48
Generated by
1.8.11