linefit C++ API Reference

class Debiasing : public I3ConditionalModule
#include <Debiasing.h>

Public Functions

Debiasing(const I3Context &ctx)

Constructor: builds an instance of the module, with the context provided by IceTray.

void Configure()

This module takes a configuration parameter and so it must be configured

void Physics(I3FramePtr frame)

If event readout data comes by, we fit it.

Private Functions

const double computeResidual(const I3ParticleConstPtr seed_, const I3Position &hitPos, const double hitTime) const
SET_LOGGER ("Debiasing")

Private Members

string inputRecoPulses_
double distance_
string seedname_
string outputResponseName_

Private Static Attributes

static size_t const minHits_ = 2
class DebiasingEHE : public I3ConditionalModule
#include <DebiasingEHE.h>

Public Functions

DebiasingEHE(const I3Context &ctx)

Constructor: builds an instance of the module, with the context provided by IceTray.

void Configure()

This module takes a configuration parameter and so it must be configured

void Physics(I3FramePtr frame)

If event readout data comes by, we fit it.

Private Functions

const double computeResidual(const I3ParticleConstPtr seed_, const I3Position &hitPos, const double hitTime) const
SET_LOGGER ("DebiasingEHE")

Private Members

string inputRecoPulses_
double distance_
string seedname_
string outputResponseName_

Private Static Attributes

static size_t const minHits_ = 8
class DelayCleaning : public I3ConditionalModule
#include <DelayCleaning.h>

Public Functions

DelayCleaning(const I3Context &ctx)

Constructor: builds an instance of the module, with the context provided by IceTray.

~DelayCleaning()

Destructor: deletes the module

void Configure()

This module takes a configuration parameter and so it must be configured

void Physics(I3FramePtr frame)

Private Functions

void WriteOutput(I3FramePtr frame, I3RecoPulseSeriesMapConstPtr selection)
SET_LOGGER ("DelayCleaning")

Private Members

string inputRecoPulses_
double distance_
double timeWindow_
string outputResponse_

Private Static Attributes

static const size_t minHits_ = 2
class DelayCleaningEHE : public I3ConditionalModule
#include <DelayCleaningEHE.h>

Public Functions

DelayCleaningEHE(const I3Context &ctx)

Constructor: builds an instance of the module, with the context provided by IceTray.

~DelayCleaningEHE()

Destructor: deletes the module

void Configure()

This module takes a configuration parameter and so it must be configured

void Physics(I3FramePtr frame)

Private Functions

void WriteOutput(I3FramePtr frame, I3RecoPulseSeriesMapConstPtr selection)
SET_LOGGER ("DelayCleaningEHE")

Private Members

string inputRecoPulses_
double distance_
double timeWindow_
double timeInterval_
string outputResponse_

Private Static Attributes

static const size_t minHits_ = 8
struct DOMhit_pos
#include <DelayCleaning.h>

Public Functions

inline DOMhit_pos(const double &t, const I3Position &pos)
inline DOMhit_pos(DOMhit_pos const &hit)
inline DOMhit_pos(const double &t, const I3Position &pos)
inline DOMhit_pos(DOMhit_pos const &hit)

Public Members

double time
I3Position position
struct DOMhit_string_om_npe
#include <DelayCleaningEHE.h>

Public Functions

inline DOMhit_string_om_npe(const double &t, const int &s, const int &o, const double &n)
inline DOMhit_string_om_npe(DOMhit_string_om_npe const &hit)

Public Members

double time
int string
int om
double npe
class HuberFit : public I3ConditionalModule
#include <HuberFit.h>

Public Functions

HuberFit(const I3Context &ctx)

Constructor: builds an instance of the module, with the context provided by IceTray.

~HuberFit()

Destructor: deletes the module

void Configure()

This module takes a configuration parameter and so it must be configured

void Physics(I3FramePtr frame)

If event readout data comes by, we fit it.

Private Functions

const std::string &GetName() const
double residual(ublas::vector<double> const para, ublas::vector<double> const r_i, double const t)

tell your name

void getData(I3FramePtr frame)
SET_LOGGER ("HuberFit")

Private Members

string inputRecoPulses_
double distance_
string fitname_
size_t numDoms
std::vector<double> delta_ts
std::vector<double> xs
std::vector<double> ys
std::vector<double> zs

Private Static Attributes

static size_t const minHits_ = 2
static const size_t maxIter = 50
class HuberFitEHE : public I3ConditionalModule
#include <HuberFitEHE.h>

Public Functions

HuberFitEHE(const I3Context &ctx)

Constructor: builds an instance of the module, with the context provided by IceTray.

~HuberFitEHE()

Destructor: deletes the module

void Configure()

This module takes a configuration parameter and so it must be configured

void Physics(I3FramePtr frame)

If event readout data comes by, we fit it.

Private Functions

const std::string &GetName() const
double residual(ublas::vector<double> const para, ublas::vector<double> const r_i, double const t)

tell your name

void getData(I3FramePtr frame)
SET_LOGGER ("HuberFitEHE")

Private Members

string inputRecoPulses_
double distance_
string fitname_
size_t numDoms
std::vector<double> delta_ts
std::vector<double> xs
std::vector<double> ys
std::vector<double> zs

Private Static Attributes

static size_t const minHits_ = 8
static const size_t maxIter = 300
class I3LineFit : public I3ConditionalModule
#include <I3LineFit.h>

IceTray module to implement the linefit first guess routine.

Public Functions

I3LineFit(const I3Context &ctx)

Constructor: builds an instance of the module, with the context provided by IceTray.

~I3LineFit()

Destructor: deletes the module

void Configure()

This module takes a configuration parameter and so it must be configured

void Physics(I3FramePtr frame)

If event readout data comes by, I’ll perform a line fit reconstruction.

Execute the line fit reconstruction on the event in the provided frame. The reconstruction has an analytic solution consisting of a vertex and a velocity. The velocity is given by

\[\vec{v} = \frac{<\vec{r_i} * t_i> - <\vec{r_i}> <t_i>}{<t_i^2> - <t_i>^2}\]
and the vertex is given by \( \vec{r_0} = < \vec{r_i} > - \vec{v} * <t_i> \), where <> indicates an average over hits i.

Private Functions

I3LineFit()
I3LineFit(const I3LineFit &source)
I3LineFit &operator=(const I3LineFit &source)
SET_LOGGER ("I3LineFit")

Private Members

std::string fitName_

Parameter: ame to assign to the fit that is produced.

std::string inputRecoPulses_

Parameter: name of the input RecoPulseSeriesMap to use for reconstruction.

int minHits_

Parameter: minimum number of hits needed to fit the event.

std::string leadingEdge_

Parameter: either “ALL” or “FLE” &#8212;> whether to use all LeadingEdges (hits) or just the first one.

double ampWeightPower_

Parameter: power of hits weights.

Hits are weighted with the amplitude raised to this power. Typically 0. (for all hits weight=1) or 1. (weight=amplitude).

namespace LineFitExtras

Functions

void Fill(I3RecoPulseSeriesMapConstPtr hitmap, const I3Geometry &geometry, const std::string &leadingEdge_, const double &ampWeightPower_, double &avTime, double &avTimeSquared, double avPos[3], double avTP[3], double &ampsum, int &nHits)
namespace std

STL namespace.

file Debiasing.cxx
#include “Debiasing/Debiasing.h
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “icetray/I3PhysicsTimer.h”
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “phys-services/I3Calculator.h”
#include “icetray/OMKey.h”
#include “dataclasses/I3Map.h”
#include <vector>
#include <iostream>
#include <cmath>

Functions

I3_MODULE(Debiasing)

Author: Mark Wellons This module takes an input set of data points and an input track, and computes the distance each data point is in phase space from the track. It then removes the data points that exceeded some value.

inline double square(double const x)
file Debiasing.h
#include “icetray/I3ConditionalModule.h”
#include “dataclasses/physics/I3Particle.h”
#include <iostream>
#include <fstream>
file DebiasingEHE.cxx
#include “Debiasing/DebiasingEHE.h
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “icetray/I3PhysicsTimer.h”
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “phys-services/I3Calculator.h”
#include “icetray/OMKey.h”
#include “dataclasses/I3Map.h”
#include <vector>
#include <iostream>
#include <cmath>

Functions

I3_MODULE(DebiasingEHE)

Author: Mark Wellons This module takes an input set of data points and an input track, and computes the distance each data point is in phase space from the track. It then removes the data points that exceeded some value.

inline double square(double const x)
file DebiasingEHE.h
#include “icetray/I3ConditionalModule.h”
#include “dataclasses/physics/I3Particle.h”
#include <iostream>
#include <fstream>
file DelayCleaning.cxx
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “icetray/I3PhysicsTimer.h”
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/I3MapOMKeyMask.h”
#include “boost/make_shared.hpp”
#include “icetray/OMKey.h”
#include “dataclasses/I3Map.h”
#include <vector>
#include <iostream>
#include <cfloat>
#include <algorithm>

Functions

I3_MODULE(DelayCleaning)

Author: Mark Wellons

file DelayCleaning.h
#include “icetray/I3ConditionalModule.h”
#include “icetray/OMKey.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/I3Map.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include <fstream>
file DelayCleaningEHE.cxx
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “icetray/I3PhysicsTimer.h”
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/I3MapOMKeyMask.h”
#include “boost/make_shared.hpp”
#include “icetray/OMKey.h”
#include “dataclasses/I3Map.h”
#include <vector>
#include <iostream>
#include <cfloat>
#include <algorithm>

Functions

I3_MODULE(DelayCleaningEHE)

Author: Mark Wellons

file DelayCleaningEHE.h
#include “icetray/I3ConditionalModule.h”
#include “icetray/OMKey.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/I3Map.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include <fstream>

Functions

bool operator<(const DOMhit_pos &left, const DOMhit_pos &right)
bool operator>(const DOMhit_pos &left, const DOMhit_pos &right)
bool operator<(const DOMhit_string_om_npe &left, const DOMhit_string_om_npe &right)
bool operator>(const DOMhit_string_om_npe &left, const DOMhit_string_om_npe &right)
file HuberFit.cxx
#include “HuberFit/HuberFit.h
#include “icetray/I3Units.h”
#include “dataclasses/I3Constants.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “icetray/I3PhysicsTimer.h”
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “icetray/OMKey.h”
#include “dataclasses/I3Map.h”
#include <cmath>
#include <vector>
#include <algorithm>
#include <iostream>
#include <string>
#include <fstream>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/lexical_cast.hpp>

Functions

I3_MODULE(HuberFit)

Author: Mark Wellons

file HuberFit.h
#include “icetray/I3ConditionalModule.h”
#include “boost/numeric/ublas/vector.hpp”
#include <fstream>
file HuberFitEHE.cxx
#include “HuberFit/HuberFitEHE.h
#include “icetray/I3Units.h”
#include “dataclasses/I3Constants.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “icetray/I3PhysicsTimer.h”
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “icetray/OMKey.h”
#include “dataclasses/I3Map.h”
#include <cmath>
#include <vector>
#include <algorithm>
#include <iostream>
#include <string>
#include <fstream>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/lexical_cast.hpp>

Functions

I3_MODULE(HuberFitEHE)

Author: Mark Wellons

file HuberFitEHE.h
#include “icetray/I3ConditionalModule.h”
#include “boost/numeric/ublas/vector.hpp”
#include <fstream>
file HuberFitPhysics.cxx
#include <cmath>
#include <cstring>
#include <cassert>
#include <vector>
#include <iostream>
#include <algorithm>
#include <array>
#include “HuberFitPhysics.h

Functions

double array_norm_2(double *vect)
double maxError_wArray(double const *para, std::vector<std::array<double, 3>> &z, std::vector<double> &delta_ts)
size_t computeHuberFit_wArray(std::vector<double> const &xs, std::vector<double> const &ys, std::vector<double> const &zs, std::vector<double> &delta_ts, double para[], size_t const maxIter, double const distance, double &t_0)
file HuberFitPhysics.h

Functions

double array_norm_2(double *vect)
double maxError_wArray(double const *para, double z[][3], std::vector<double> &delta_ts)
size_t computeHuberFit_wArray(std::vector<double> const &xs, std::vector<double> const &ys, std::vector<double> const &zs, std::vector<double> &delta_ts, double para[], size_t const maxIter, double const distance, double &t_0)

Variables

static double const rho = 1.5

Author: Mark Wellons

static double const mu = 1
static double const epsilon = 0.1
file I3LineFit.cxx
#include “linefit/I3LineFit.h
#include “recclasses/I3LineFitParams.h”
#include “icetray/I3TrayHeaders.h”
#include “icetray/I3PhysicsTimer.h”
#include “dataclasses/I3Position.h”
#include “icetray/OMKey.h”
#include “dataclasses/I3Map.h”
#include “dataclasses/Utility.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “I3LineFitExtras.h
#include <iostream>
#include <boost/iterator/filter_iterator.hpp>

copyright (C) 2004 the icecube collaboration $Id$

Changed to comply with dcv2 by bchristy.

Version

Rcs

1.7

Date

$Date$

Author

deyoung cc

Functions

I3_MODULE(I3LineFit)
file I3LineFit.h
#include “icetray/I3ConditionalModule.h”

copyright (C) 2004 the icecube collaboration $Id$

Version

Rcs

1.2

Date

$Date$

Author

deyoung

file I3LineFitExtras.h
dir Debiasing
dir DelayCleaning
dir HuberFit
dir icetray
dir linefit
dir linefit
dir linefit
dir private
dir public