toprec C++ API Reference

class I3BORSSnowAttenuationService : public I3SnowAttenuationServiceBase

This one implements Kath’s BORS function.

Public Functions

I3BORSSnowAttenuationService(const std::string &name, bool fEMonly)

default constructor for unit tests

I3BORSSnowAttenuationService(const I3Context &c)

constructor I3Tray

Regular constructor.

inline virtual ~I3BORSSnowAttenuationService()

destructor

void Configure()
virtual double AttenuationFactor(const I3Position&, double, const I3Particle&, const I3LaputopParams&) const

Do the calculation!

THIS IS THE MEATY FUNCTION!

virtual void FillSnowDiagnostics(SnowAttenuationDiagnosticsPtr diag, I3ParticleConstPtr hypoth, I3LaputopParamsConstPtr paramPtr) const
double DominantExponentialSlope(double r, double t) const
double TurnoverExponentialSlope(double r, double t) const
double Turnover_c0(double r, double t) const
double FractionEM(double r, double logS125) const
double T_from_beta_zenith(double beta, double zenith) const
inline double GetTStage() const
inline void SetTStage(double myt)
inline void UnsetTStage()

Private Members

bool fEMonly_
mutable double t_
bool t_set_externally_

Private Static Attributes

static const std::string EM_ONLY_TAG = "EMOnly"

——–— BORS SNOW CORRECTION ———–—

class I3CurvatureParametrization : public I3ServiceBase, public I3ParametrizationBase

A simple fitter for standalone-curvature.

For now: simple standard xyzza parametrization, plus one additional parameter

Public Functions

I3CurvatureParametrization(std::string name = "unittest")

default constructor for unit tests

I3CurvatureParametrization(const I3Context &c)

constructor I3Tray

void Configure()

set parameters (in I3Tray)

void UpdatePhysicsVariables()

compute event hypothesis from minimizer parameters

void UpdateParameters()

compute minimizer parameters from event hypothesis

void PassCovariance(const boost::numeric::ublas::symmetric_matrix<double>&)

passes the covariance matrix after the minimizer finished

inline const std::string GetName() const

tell your name

Public Static Attributes

static const double DEFAULT_A_MIN = 1e-4
static const double DEFAULT_A_MAX = 1e-3
static const double DEFAULT_A_STEPSIZE = 5e-6
static const double DEFAULT_D_MIN = 10
static const double DEFAULT_D_MAX = 200
static const double DEFAULT_D_STEPSIZE = 1.0
static const double DEFAULT_N_MIN = 0.0
static const double DEFAULT_N_MAX = 50.0
static const double DEFAULT_N_STEPSIZE = 1.0
static const double DEFAULT_T_MIN = 9000.0
static const double DEFAULT_T_MAX = 50000.0
static const double DEFAULT_T_STEPSIZE = 100.0

Private Functions

SET_LOGGER ("Curvature")

log4cplus thingy

Private Members

bool fFreeA_
bool fFreeD_
bool fFreeN_
bool fFreeT_
int iparA_
int iparD_
int iparN_
int iparT_
double fAStep_
double fDStep_
double fNStep_
double fTStep_
double fAMin_
double fDMin_
double fNMin_
double fTMin_
double fAMax_
double fDMax_
double fNMax_
double fTMax_
class I3CurvatureSeedService : public I3ServiceBase, public I3SeedServiceBase

Service to seed the simple CurvatureFitter.

Public Functions

I3CurvatureSeedService(std::string name, double seedA)

default constructor for unit tests

inline virtual ~I3CurvatureSeedService()
I3CurvatureSeedService(const I3Context &c)

constructor I3Tray

void Configure()

set parameters (in I3Tray)

virtual unsigned int SetEvent(const I3Frame &f)

Get seeds from external single muon seeders, and creates the combined seed particle.

Parameters:

f[in] Frame with event data

Returns:

number of available seeds

virtual I3EventHypothesis GetSeed(unsigned int iseed) const

get a seed

virtual I3EventHypothesis GetDummy() const

get a dummy seed (useful in case of first guess failure)

virtual void Tweak(I3EventHypothesis &eh) const

Space and time coordinates of the vertices are tweaked, for numerical convenience (minimizer algorithms). This is actually delegated to the external track seeders.

void FillInTheBlanks(I3EventHypothesis &eh) const

Filling the blanks in the track is delegated to the external track seeders.

virtual I3EventHypothesis GetCopy(const I3EventHypothesis &eh) const

This will make a (deep) copy of the I3EventHypothesis.

inline const std::string GetName() const

tell your name

Private Functions

SET_LOGGER ("Curvature")

log4cplus thingy

Private Members

double fSeedA_
double fSeedD_
double fSeedN_
double fSeedT_
std::string fInTrackName_
I3ParticlePtr seedParticle_
I3LaputopParamsPtr curvParams_

Private Static Attributes

static const std::string DEFAULT_SEEDTRACK = "Laputop"
class I3LaputopFitter : public I3ConditionalModule
#include <I3LaputopFitter.h>

Gulliver-based module to mimic “I3TopLateralFit” in the toprec project.

I3TopLateralFit (the old fitter) performed four separate minimizatins: 1) core only 2) core + snow, with pulses < 11 meters removed 3) core (+/- 3 sigma) + direction, but no snow 4) core again (unbounded) + snow, but no direction

This fitter performs a similar sequence of “steps”, any number between 1 and 4. For details of differences between this fitter and I3TopLateralFit, see the .rst documentation.

Code herein is modified from I3SimpleFitter.h

Todo:

There is probably more to be said here.

Public Functions

I3LaputopFitter(const I3Context &ctx)

constructor (define configurables)

inline ~I3LaputopFitter()

destructor

void Configure()

configure (get & check configurables)

void Geometry(I3FramePtr frame)
void Calibration(I3FramePtr frame)
void DetectorStatus(I3FramePtr frame)
void Physics(I3FramePtr frame)

do a reconstruction

void Finish()

say bye

Private Types

enum StoragePolicyType

type to remember whether to store all or some of the fits

Values:

enumerator ONLY_BEST_FIT
enumerator ALL_FITS_AND_FITPARAMS_IN_VECTORS
enumerator ALL_FITS_AND_FITPARAMS_NOT_IN_VECTORS
enumerator ALL_RESULTS_IN_VECTORS
enumerator ALL_RESULTS_NOT_IN_VECTORS
enumerator INTERMEDIATE

Private Functions

I3LaputopFitter()
I3LaputopFitter(const I3LaputopFitter &source)

inhibited

I3LaputopFitter &operator=(const I3LaputopFitter &source)

inhibited

SET_LOGGER ("Laputop")

How many steps (minimum 1, maximum 4)

Private Members

boost::shared_ptr<I3Gulliver> fitterCore1_

inhibited

the core Gulliver object for basic tracks (a pointer, so we can postpone instantiation to Configure())

boost::shared_ptr<I3Gulliver> fitterCore2_
boost::shared_ptr<I3Gulliver> fitterCore3_
boost::shared_ptr<I3Gulliver> fitterCore4_
I3SeedServiceBasePtr seedService_

seed service

std::string seedServiceName_
std::string llhName_

Seed preparation service.

std::vector<std::string> LDFFunctions_

Event loglikelihood calcuation service.

std::vector<std::string> CurvFunctions_
I3LaputopLikelihoodPtr lapuLlhService_
std::vector<double> staticRCuts_
std::vector<double> staticTCuts_
std::string parName1_
std::string parName2_

Track/shower/anything parametrization service.

std::string parName3_

Track/shower/anything parametrization service.

std::string parName4_

Track/shower/anything parametrization service.

std::string miniName_

Track/shower/anything parametrization service.

std::string storagePolicyString_

Minimizer service.

StoragePolicyType storagePolicy_

option to store single or multiple results

std::string nonStdName_

option to store single or multiple results

std::string fitName_

name to use when storing nonstandard part of hypothesis

unsigned int eventNr_

same as module name

unsigned int nSeeds_
unsigned int nSuccessFits_
unsigned int nSuccessEvents_
unsigned int nSteps_
class I3LaputopLikelihood : public I3EventLogLikelihoodBase, public I3ServiceBase

Likelihood for icetop event, from expected charge function (i.e. DLP) and expected timing function (i.e. parabola-with-gaussian-nose)

See also

I3EventLogLikelihoodBase

Public Functions

I3LaputopLikelihood(std::string name = "unittest")

constructor for unit tests

I3LaputopLikelihood(const I3Context &context)

constructor for I3Tray

inline virtual ~I3LaputopLikelihood()

cleanup

virtual void Configure()

get configuration parameters

inline void SetGeometry(const I3Geometry &geo)

provide event geometry

void SetEvent(const I3Frame &f)

provide event data

double GetLogLikelihood(const I3EventHypothesis &t)

Get +log(likelihood) for a particular emission hypothesis.

void CalcChi2(const I3EventHypothesis &t, double &charge_chi2, double &time_chi2)

Calc Chi2 after all the likelihood fitting for the charges and times.

inline unsigned int GetMultiplicity()

This one is required by gulliver.

inline const std::string GetName() const

tell your name

unsigned int FillInput(const I3Frame &f)
void ResetInput()
inline std::vector<tankPulse> GetInputData()
inline std::vector<tankPulse> GetInputEmptyData()
inline std::vector<tankPulse> GetInputSaturatedData()
inline void SetReadoutName(std::string name)
inline void SetSnowService(I3SnowAttenuationServiceBasePtr ss)
inline void SetFunction(std::string newLDF)
void SetCurvature(std::string newCurv)
inline std::string GetFunction(void)
inline std::string GetCurvature(void)
int CutBadTimingPulses(const I3EventHypothesis &t, double t_res_cut)
int CutCorePulses(const I3EventHypothesis &t, double rcut)
I3FrameObjectPtr GetDiagnostics(const I3EventHypothesis&)
SET_LOGGER ("Laputop")

Private Functions

double GetDistToAxis(const I3Position &core, const I3Direction &dir, std::vector<tankPulse>::iterator it)
double GetDistToPlane(const double &time, const I3Position &core, const I3Direction &dir, std::vector<tankPulse>::iterator it)
void UpdateFillCounts(std::set<StationKey> &setA, std::set<StationKey> &setB, OMKey key)
void PrintPulseFill(tankPulse pulse, std::string description)
double top_curv_gausspar_llh(double r, double deltaT, I3LaputopParamsConstPtr par)

Private Members

std::string fBadTankLabel
std::string fDataReadoutLabel
unsigned int fTrigger
double fCoreCut
double fSoftwareThreshold
std::string fLDF
std::string fCurv
Laputop::FrontDelay::Enum fCurvType
std::string fSnowServiceName
bool fCorrectAtm_
bool fSaturation_
bool fOld_XYZ_from_OM_
double fMaxIntraStaTimeDiff_
unsigned int multiplicity_
unsigned int timeFluctuatingTanks_
unsigned int nStation_
I3RecoPulseSeriesMapConstPtr pulsemap_
std::vector<tankPulse> inputData_
std::vector<tankPulse> inputEmptyData_
std::vector<tankPulse> saturatedData_
double core_radius_
I3DoubleConstPtr pressure
I3DoubleConstPtr temperature
I3SnowAttenuationServiceBasePtr snowservice_
double snowdepth_39B_
double snowdepth_44A_
double snowdepth_59A_
double snowdepth_74A_

Private Static Attributes

static const std::string DEFAULT_DATA_READOUT_LABEL = "TopEvent_0"
static const std::string DEFAULT_BADTANKLABEL = ""
static const int DEFAULT_TRIGGER = 5
static const double DEFAULT_CORECUT = 11.0
static const double DEFAULT_SOFT_THR = -1.
static const std::string DEFAULT_LDF = "dlp"
static const std::string DEFAULT_CURV = "gausspar"
static const std::string DEFAULT_SNOWSERVICENAME = "SimpleSnow"
class I3LaputopParametrization : public I3ServiceBase, public I3ParametrizationBase

define fittable variables and their parametrization for toprec lateral fit

For now: simple standard xyzza parametrization, plus additional parameters (S125, beta, etc.)

Public Functions

I3LaputopParametrization(std::string name = "unittest")

default constructor for unit tests

I3LaputopParametrization(const I3Context &c)

constructor I3Tray

void Configure()

set parameters (in I3Tray)

void UpdatePhysicsVariables()

compute event hypothesis from minimizer parameters

void UpdateParameters()

compute minimizer parameters from event hypothesis

void PassCovariance(const boost::numeric::ublas::symmetric_matrix<double>&)

passes the covariance matrix after the minimizer finished

inline const std::string GetName() const

tell your name

Public Static Attributes

static const bool DEFAULT_FIX_CORE = false
static const bool DEFAULT_FIX_SIZE = false
static const bool DEFAULT_FIX_TRACKDIR = false
static const bool DEFAULT_ISITBETA = true
static const double DEFAULT_LIMITCOREBOXSIZE = -1
static const double DEFAULT_MINBETA = 1.5
static const double DEFAULT_MAXBETA = 5.0
static const double DEFAULT_COREXY = 2000.0
static const double DEFAULT_MAXLOGS125 = 6.0
static const double DEFAULT_CORE_STEPSIZE = 20.0 * I3Units::m
static const double DEFAULT_NXY_STEPSIZE = 0.5
static const double DEFAULT_LOGS125_STEPSIZE = 1.0
static const double DEFAULT_BETAAGE_STEPSIZE = 0.6
static const double DEFAULT_T0_STEPSIZE = 50.0 * I3Units::ns
static const double DEFAULT_A_MIN = 1e-4
static const double DEFAULT_A_MAX = 1e-3
static const double DEFAULT_A_STEPSIZE = 5e-6
static const double DEFAULT_D_MIN = 10
static const double DEFAULT_D_MAX = 300
static const double DEFAULT_D_STEPSIZE = 1.0
static const double DEFAULT_N_MIN = 0.0
static const double DEFAULT_N_MAX = 50.0
static const double DEFAULT_N_STEPSIZE = 1.0

Private Functions

SET_LOGGER ("Laputop")

log4cplus thingy

Private Members

bool fFixCore_
bool fFixSize_
bool fFixDir_
bool fIsItBeta_
double fLimitCoreBoxSize_
double fCoreStep_
double fNxyStep_
double fLogS125Step_
double fBetaAgeStep_
double fT0Step_
double fBetaMin_
double fBetaMax_
double fCoreXYLimit_
double fLogS125Max_
double seedX_
double seedY_
double seedT_
bool fFreeA_
bool fFreeD_
bool fFreeN_
double fAStep_
double fDStep_
double fNStep_
double fAMin_
double fDMin_
double fNMin_
double fAMax_
double fDMax_
double fNMax_
class I3LaputopSeedService : public I3ServiceBase, public I3SeedServiceBase

Service to seed reconstructions with an hypothesis consisting of one particle and additional parameters (in particular: S125, beta) stored in an I3LaputopParams.

Public Functions

I3LaputopSeedService(std::string name, std::string InPlaneName, std::string InCoreName, std::string ParamsName, double seedBeta, std::string pulses)

default constructor for unit tests

inline virtual ~I3LaputopSeedService()
I3LaputopSeedService(const I3Context &c)

constructor I3Tray

void Configure()

set parameters (in I3Tray)

virtual unsigned int SetEvent(const I3Frame &f)

Get seeds from external single muon seeders, and creates the combined seed particle.

Parameters:

f[in] Frame with event data

Returns:

number of available seeds

virtual I3EventHypothesis GetSeed(unsigned int iseed) const

get a seed

virtual I3EventHypothesis GetDummy() const

get a dummy seed (useful in case of first guess failure)

virtual void Tweak(I3EventHypothesis &eh) const

Space and time coordinates of the vertices are tweaked, for numerical convenience (minimizer algorithms). This is actually delegated to the external track seeders.

void FillInTheBlanks(I3EventHypothesis &eh) const

Filling the blanks in the track is delegated to the external track seeders.

virtual I3EventHypothesis GetCopy(const I3EventHypothesis &eh) const

This will make a (deep) copy of the I3EventHypothesis.

inline const std::string GetName() const

tell your name

Private Functions

double seedLogS125(I3RecoPulseSeriesMapConstPtr rpsm, I3ParticleConstPtr seedPart, const I3OMGeoMap &om_map)
SET_LOGGER ("Laputop")

log4cplus thingy

Private Members

std::string fInPlaneName_

convenience method to guarantee some finite positive energy

std::string fInCoreName_
std::string fInParamsName_
I3ParticlePtr seedParticle_
double seedS125_
double seedBeta_
I3LaputopParamsPtr ldfParams_
bool override_beta_
double fSeedA_
double fSeedD_
double fSeedN_
std::string fDataReadoutLabel_

Private Static Attributes

static const std::string DEFAULT_INPLANENAME = "ShowerPlane"
static const std::string DEFAULT_INCORENAME = "ShowerCOG"
static const double DEFAULT_BETA = 2.6
static const std::string DEFAULT_PULSENAME = ""
static const double DEFAULT_S125 = 1.0
class I3Rade3SnowAttenuationService : public I3SnowAttenuationServiceBase

Public Functions

I3Rade3SnowAttenuationService(const std::string &name, bool em, double rmin)

default constructor/destructors for unit tests

——–&#8212; KR’S THIRD RADE SNOW CORRECTION ———–&#8212; default constructor for unit tests

I3Rade3SnowAttenuationService(const I3Context &c)

Regular constructor.

inline virtual ~I3Rade3SnowAttenuationService()
void Configure()
virtual double AttenuationFactor(const I3Position&, double snowDepth, const I3Particle&, const I3LaputopParams&) const

Standard functions.

THIS IS THE MEATY FUNCTION!

virtual void FillSnowDiagnostics(SnowAttenuationDiagnosticsPtr diag, I3ParticleConstPtr hypoth, I3LaputopParamsConstPtr paramPtr) const
double fMuons(double r, double s125) const
double SlopeEM(double r, double s125) const

Private Functions

double fmu_sigmoid(double x, double center, double width, double ymax) const

Private Members

bool fEMonly_
double fRminimum_
class I3RadeBasicSnowAttenuationService : public I3SnowAttenuationServiceBase

This one implements Kath’s second attempt at a radius-dependent function.

Public Functions

I3RadeBasicSnowAttenuationService(const std::string &name, double rmin)

default constructor/destructors for unit tests

——–&#8212; KR’S FIRST RADE SNOW CORRECTION ———–&#8212; default constructor for unit tests

I3RadeBasicSnowAttenuationService(const I3Context &c)

Regular constructor.

inline virtual ~I3RadeBasicSnowAttenuationService()
void Configure()
virtual double AttenuationFactor(const I3Position&, double snowDepth, const I3Particle&, const I3LaputopParams&) const

Standard functions.

THIS IS THE MEATY FUNCTION!

virtual void FillSnowDiagnostics(SnowAttenuationDiagnosticsPtr diag, I3ParticleConstPtr hypoth, I3LaputopParamsConstPtr paramPtr) const
double Lambda(double r, double s125) const

Private Members

double fRminimum_
class I3RadeMuonSnowAttenuationService : public I3SnowAttenuationServiceBase

This one implements Kath’s second attempt at a radius-dependent function.

Public Functions

I3RadeMuonSnowAttenuationService(const std::string &name, double rmin)

default constructor/destructors for unit tests

——–&#8212; KR’S SECOND RADE SNOW CORRECTION ———–&#8212; default constructor for unit tests

I3RadeMuonSnowAttenuationService(const I3Context &c)

Regular constructor.

inline virtual ~I3RadeMuonSnowAttenuationService()
void Configure()
virtual double AttenuationFactor(const I3Position&, double snowDepth, const I3Particle&, const I3LaputopParams&) const

Standard functions.

THIS IS THE MEATY FUNCTION!

virtual void FillSnowDiagnostics(SnowAttenuationDiagnosticsPtr diag, I3ParticleConstPtr hypoth, I3LaputopParamsConstPtr paramPtr) const
double Slope(double r, double s125) const

Private Members

double fRminimum_
class I3RadeSatSnowAttenuationService

This one implements Kath’s third attempt at a radius-dependent function.

class I3SimpleSnowAttenuationService : public I3SnowAttenuationServiceBase

This one just attenuates by exp(-slantdepth/lambda), where “lambda” is a configurable parameter.

Public Functions

I3SimpleSnowAttenuationService(const std::string &name, double lambda)

default constructor for unit tests

I3SimpleSnowAttenuationService(const I3Context &c)

constructor I3Tray

Regular constructor.

inline virtual ~I3SimpleSnowAttenuationService()

destructor

void Configure()
void ResetLambda(double newlambda)

Setter function for Lambda.

inline double GetLambda() const
virtual double AttenuationFactor(const I3Position&, double, const I3Particle&, const I3LaputopParams&) const

Do the calculation!

THIS IS THE MEATY FUNCTION!

virtual void FillSnowDiagnostics(SnowAttenuationDiagnosticsPtr, I3ParticleConstPtr, I3LaputopParamsConstPtr) const

Private Members

double fLambda_

Private Static Attributes

static const std::string LAMBDA_TAG
static const double DEFAULT_SIMPLE_LAMBDA
class I3SnowAttenuationServiceBase : public I3ServiceBase

Service (generic base class) to provide snow attenuation to IceTop reconstructors.

Subclassed by I3BORSSnowAttenuationService, I3Rade3SnowAttenuationService, I3RadeBasicSnowAttenuationService, I3RadeMuonSnowAttenuationService, I3SimpleSnowAttenuationService

Public Functions

inline I3SnowAttenuationServiceBase(const std::string &name)
inline I3SnowAttenuationServiceBase(const I3Context &c)
inline virtual ~I3SnowAttenuationServiceBase()
inline virtual double AttenuationFactor(const I3Position &pos, double snowDepth, const I3Particle &hypoth, const I3LaputopParams &params) const

Do the calculation! These vary from derived class to derived class Default = do nothing. (The “Null” snow correction)

inline virtual void FillSnowDiagnostics(SnowAttenuationDiagnosticsPtr diag, I3ParticleConstPtr hypoth, I3LaputopParamsConstPtr paramPtr) const
inline double CalculateAttenuatedLogS(double oldlogS, const tankPulse &tp, I3ParticleConstPtr hypoth, I3LaputopParamsConstPtr paramPtr) const
inline double CalculateAttenuatedS(double oldS, const tankPulse &tp, I3ParticleConstPtr hypoth, I3LaputopParamsConstPtr paramPtr) const
inline double DistToAxis(const I3Particle &part, const I3Position &pos) const

Protected Functions

SET_LOGGER ("Laputop")
class I3TopRecoCore : public I3ConditionalModule
#include <I3TopRecoCore.h>

Takes station responses and calculates the core by making a COG calculation on the positions.

Public Functions

I3TopRecoCore(const I3Context &ctx)

The constructor getting a context

~I3TopRecoCore()

The destructor

void Configure()

Configure the tracer

void Physics(I3FramePtr frame)

Get a physics event

Private Functions

SET_LOGGER ("I3TopRecoCore")

Private Members

bool fVerbose
std::string fShowerCoreName
std::string fDataReadoutLabel
double fPower
short int fNtanks

Private Static Attributes

static const bool DEFAULT_VERBOSE = false
static const std::string DEFAULT_DATA_READOUT_LABEL = "ITSimData"
static const std::string DEFAULT_SHOWERCORENAME = "ShowerCOG"
static const double DEFAULT_WEIGHTING_POWER = 0.5
static const short int DEFAULT_NTANKS = -1
static const std::string PHYSICS_STREAM_NAME = "Physics"
static const std::string GEOMETRY_STREAM_NAME = "Geometry"
static const std::string PHYSICS_STREAM_TITLE = "Physics stream"
static const std::string GEOMETRY_STREAM_TITLE = "Geometry stream"
static const std::string OUTBOX_NAME = "OutBox"
static const std::string INBOX_NAME = "InBox"
class I3TopRecoPlane : public I3ConditionalModule
#include <I3TopRecoPlane.h>

Takes station responses and guesses the shower front by chisquare fitting a plane.

algorithm: minimise (analytically) chi^2 = sum (w_i [c(t_i - t_0) - n * X_i]^2) w.r.t. t_0 (some time) and n, the direction. t_i, X_i are hit’s times and position. Direction n is obtained by solving

sum (w_i (n.X_i) X_i) - (n.sum (w_i X_i))(sum (X_i)) = c sum (w_i t_i X_i) - c (sum (w_i t_i))(sum (w_i X_i))

see source code for details.

Public Functions

I3TopRecoPlane(const I3Context &ctx)

The constructor getting a context

~I3TopRecoPlane()

The destructor

void Configure()

Configure the guess

void Physics(I3FramePtr frame)

Get a physics event

Private Functions

bool EvaluateDirection(TTopRecoShower *inputShower, I3ParticlePtr &shower_plane, I3TopRecoPlaneFitParamsPtr &plane_params)
void OutputEmptyParams(I3FramePtr frame, std::string outShowerName)
SET_LOGGER ("I3TopRecoPlane")

Private Members

bool fVerbose
std::string fEventHeader
std::string fArrayHitName
std::string fShowerPlaneName
std::string fDataReadoutLabel
unsigned int fTrigger

Private Static Attributes

static const bool DEFAULT_VERBOSE = false
static const std::string DEFAULT_DATA_READOUT_LABEL = "ITSimData"
static const std::string DEFAULT_SHOWERPLANENAME = "ShowerPlane"
static const int DEFAULT_TRIGGER = 3
static const double DEFAULT_RESIDUALCUT
static const double DEFAULT_THRESHOLD
static const std::string PHYSICS_STREAM_NAME = "Physics"
static const std::string GEOMETRY_STREAM_NAME = "Geometry"
static const std::string PHYSICS_STREAM_TITLE = "Physics stream"
static const std::string GEOMETRY_STREAM_TITLE = "Geometry stream"
static const std::string OUTBOX_NAME = "OutBox"
static const std::string INBOX_NAME = "InBox"
struct noShowerPulse
#include <TTopRecoShower.h>

Public Members

StationKey stationkey
double x
double y
double z
double avgsnowdepth
struct showerPulse
#include <TTopRecoShower.h>

Public Members

OMKey omkey
double x
double y
double z
double t
double width
double vem
double logvem
bool usepulsecharge
bool usepulsetime
double snowdepth
class SnowAttenuationDiagnostics : public I3FrameObject

Public Functions

inline SnowAttenuationDiagnostics()

Empty boring constructor.

inline virtual ~SnowAttenuationDiagnostics()

cleanup

Public Members

double tstage
double tstage_restricted
double fEM_30m
double fEM_50m
double fEM_80m
double fEM_100m
double fEM_125m
double fEM_150m
double fEM_200m
double fEM_300m
double fEM_500m
double fEM_1000m
double lambda_EM_30m
double lambda_EM_50m
double lambda_EM_80m
double lambda_EM_100m
double lambda_EM_125m
double lambda_EM_150m
double lambda_EM_200m
double lambda_EM_300m
double lambda_EM_500m
double lambda_EM_1000m
double lambda_EM_30m_restricted
double lambda_EM_50m_restricted
double lambda_EM_80m_restricted
double lambda_EM_100m_restricted
double lambda_EM_125m_restricted
double lambda_EM_150m_restricted
double lambda_EM_200m_restricted
double lambda_EM_300m_restricted
double lambda_EM_500m_restricted
double lambda_EM_1000m_restricted
double snowdepth_39B
double snowdepth_44A
double snowdepth_59A
double snowdepth_74A

Protected Functions

template<class Archive>
void serialize(Archive &ar, unsigned version)

copyright (C) 2010 The Icecube Collaboration

$Id$

Version

$Revision$

Date

$Date$

Author

Katherine Rawlins krawlins@uaa.alaska.edu

Friends

friend class icecube::serialization::access
class SnowAttenuationDiagnosticsConverter : public I3ConverterImplementation<SnowAttenuationDiagnostics>

copyright (C) 2010 The Icecube Collaboration

$Id$

Version

$Revision$

Date

$LastChangedDate$

Author

Katherine Rawlins krawlins@uaa.alaska.edu $LastChangedBy$

Private Functions

I3TableRowDescriptionPtr CreateDescription(const SnowAttenuationDiagnostics &params)

copyright (C) 2010 The Icecube Collaboration

$Id$

Version

$Revision$

Date

$LastChangedDate$

Author

Katherine Rawlins krawlins@uaa.alaska.edu, last changed by $LastChangedBy$

size_t FillRows(const SnowAttenuationDiagnostics &params, I3TableRowPtr rows)
struct tankPulse
#include <tankPulse.h>

Public Functions

inline tankPulse()
inline tankPulse(OMKey k, double xp, double yp, double zp, double tp, double widthp, double logvemp, double snowdepthp, double usepulsetimep)

Public Members

OMKey omkey
double x
double y
double z
double t
double width
double logvem
double snowdepth
bool usepulsetime
class TTopRecoShower
#include <TTopRecoShower.h>

This class is intended to contain all the pulse information of an event which is going to be reconstructed. The data (position, vem, time) of each hit as to be provided to the class or it can be read automatically from the frame. It can also hold first-guess-variables like core or direction information. It has to be a TObject in order to be usable in TMinuit::SetObjectFit().

Public Functions

TTopRecoShower()
~TTopRecoShower()
bool ReadData(I3FramePtr frame, std::string pulselabel, std::string corelabel = "", std::string planelabel = "", std::string badStationLabel = "", double software_threshold = -1.)

Reads the icetop data from the frame

int ReadDataFromSeed(const I3Frame &frame, I3ParticleConstPtr seed, std::string datalabel, std::string badStationLabel = "", double software_threshold = -1.)

Reads the icetop data from stuff that’s already been gotten from the frame (and the seed)

bool UpdateTrackOnly(I3ParticleConstPtr newtrack)
void AddPulse(OMKey omKey, double x, double y, double z, double time, double width, double vem, bool usepulsecharge = true, bool usepulsetime = true, double snowdepth = 0)

Adds a single pulse

void AddNoPulse(StationKey stationKey, double x, double y, double z, double avgsnowdepth = 0)

Adds a single no-pulse (Station without a trigger)

inline std::vector<showerPulse> GetPulses()

Returns the pulses.

inline std::vector<noShowerPulse> GetNoPulses()

Returns the stations without a pulse.

inline void SetDirection(I3Direction inDir)

Set the shower direction.

inline void SetNXNY(double nX, double nY)
inline void SetPlaneParams(double T0, double X0, double Y0)
inline I3Direction GetDir()
inline double GetNX()
inline double GetNY()
inline double GetT0()
inline double GetX0()
inline double GetY0()
inline double GetZenith()
inline double GetAzimuth()
inline double GetArtificialVEMShift()
double GetLogS125Start()

Get a starting value for log10(S125) assuming \(\beta=3\) and the seed core and direction.

inline void SetCore(I3Position pos)

Set the shower core.

inline void SetCore(double xc, double yc)
inline void SetTime(double tc)
inline double GetX_C()
inline double GetY_C()
inline double GetZ_C()
inline double GetT_C()
inline void UsePulseCharge(unsigned int i, bool usePulse = true)

Specifies which Hit is going to be used/excluded from the analysis

inline void UsePulseTime(unsigned int i, bool usePulse = true)
inline bool IsUsedPulseCharge(unsigned int i)
inline bool IsUsedPulseTime(unsigned int i)
unsigned int SortOutBadCharges()

Sets the usepulsecharge-flag of pulses with NAN-charges, negative charges or charges>3000 VEM to false.

unsigned int SortOutBadTimes()

Sets the usepulsetime-flag of pulses with NAN-times to false.

unsigned int SortOutBadWidths()

Sets the usepulsetime- and usepulsecharge-flag of pulses with NAN-widths to false.

inline size_t GetNPulses()

Returns the number of pulses.

unsigned int GetNPulsesUsedCharge()

Returns the number of used pulses.

unsigned int GetNPulsesUsedTime()
unsigned int GetNStationsUsedCharge()

Returns the number of used stations.

unsigned int GetNStationsUsedTime()
inline unsigned int GetNNoPulses()

Returns the number of non-fired stations.

inline void ErasePulse(unsigned int i)

Delete pulse #i.

void ClearHits()

Deletes all the pulses stored in this object

inline double GetDistToAxis(unsigned int i)

Returns the distance of pulse #i to the shower axis.

inline double GetNoDistToAxis(unsigned int i)

Returns the distance of no-pulse (untriggered station) #i to the shower axis.

inline double GetDistToAxisIt(std::vector<showerPulse>::iterator it)

Returns the distance of iterator’s pulse to the shower axis.

inline double GetNoDistToAxisIt(std::vector<noShowerPulse>::iterator it)

Returns the distance of iterator’s no-pulse to the shower axis.

inline double GetDistToPlane(int i)

Get time distance to shower plane.

inline double GetDistToPlaneIt(std::vector<showerPulse>::iterator it)
double GetLogRadCOG(double (*sigma_func)(double r, double logq))

The COG of the logs of the radii with respect to a shower core x/y.

inline int GetLoudestStation()

Returns the loudest available station.

void Print()

Prints out the hit informations of all the pulses stored in this object

bool CorrectForHeight()

Correct the pulse times for the height of the tanks.

bool ApplyArtificialVEMShift(double f)

Artificially shift all VEM’s

showerPulse GetMeans(double power = 0., short int nTanks = -1)

Return a showerPulse that contains the mean of all elements. If power is specified, the points are weighted with a power of the charge. If nTanks is >0 only the first nTanks tank signals are used.

SET_LOGGER ("I3TopLateralFit")

Private Members

std::vector<showerPulse> pulseData

Pulses in the array.

std::vector<noShowerPulse> noPulseData

Stations without a pulse.

I3Direction dir

Shower Direction

double nx
double ny
double t_0
double x_0
double y_0
double x_c

Shower Core.

double y_c
double z_c
double t_c
bool height_corrected

Make sure the height correction is only applied once.

double artificial_shift

Make sure the VEM correction is only applied once. Positive number indicates the shift if it has; negative number indicates it is uncorrected.

int loudest_station

Loudest station of that event.

namespace [anonymous]
namespace [anonymous]
namespace LateralFitFunctions

Functions

double top_ldf_nkg(double r, double *par)
double top_ldf_dlp(double r, double *par)
double top_ldf_sigma(double r, double logq)
double top_curv_kislat(double r, double *par)
double top_curv_kislat_llh(double r, double deltaT, double *par)
double estimate_energy(double lsref, double szenith, double conversion_radius)
double estimate_firstguess_energy(double lsref, double szenith, double conversion_radius)
vector<double> E_parameters(double ref_radius)
virtual  __attribute__ ((unused)) static double KAPPA=0.30264

Variables

const double R0_PARAM = 125.0 * I3Units::m
const double X0 = log10(R0_PARAM / I3Units::m)
namespace std

STL namespace.

namespace TopRecoFunctions

Functions

void OutputEmptyParticle(I3FramePtr frame, std::string outShowerName, I3Particle::FitStatus fitStatus)
file I3BORSFunctionService.cxx
#include <string>
#include <cassert>
#include <cmath>
#include “icetray/I3SingleServiceFactory.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/I3Constants.h”

Typedefs

typedef I3SingleServiceFactory<I3BORSSnowAttenuationService, I3SnowAttenuationServiceBase> I3BORSSnowAttenuationServiceFactory
file I3CurvatureParametrization.cxx
#include “icetray/I3SingleServiceFactory.h”
#include “gulliver/I3Gulliver.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/I3Constants.h”
#include <cmath>
#include <recclasses/I3LaputopParams.h>

implementation of the I3CurvatureParametrization class

(c) 2007 the IceCube Collaboration

Rcs

I3CurvatureParametrization.cxx 143462 2016-03-18 19:24:40Z hdembinski

Version

Rcs

143462

Date

Rcs

2016-03-18 14:24:40 -0500 (Fri, 18 Mar 2016)

Author

kath

Typedefs

typedef I3SingleServiceFactory<I3CurvatureParametrization, I3ParametrizationBase> I3CurvatureParametrizationServiceFactory

Functions

I3_SERVICE_FACTORY(I3CurvatureParametrizationServiceFactory)
file I3CurvatureParametrization.h
#include <string>
#include “icetray/I3Units.h”
#include “icetray/I3ServiceBase.h”
#include “gulliver/I3ParametrizationBase.h”

declaration of the I3CurvatureParametrization class

(c) 2007 the IceCube Collaboration

Rcs

I3CurvatureParametrization.h 132756 2015-05-21 20:54:27Z hdembinski

Version

Rcs

132756

Date

Rcs

2015-05-21 15:54:27 -0500 (Thu, 21 May 2015)

Author

kath

file I3CurvatureSeedService.cxx
#include <string>
#include <cassert>
#include <cmath>
#include “recclasses/I3TopRecoPlaneFitParams.h”
#include “toprec/TTopRecoShower.h
#include “recclasses/I3TopLateralFitParams.h”
#include “icetray/I3SingleServiceFactory.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/I3Constants.h”

implementaration of the I3CurvatureSeedService class

(c) 2007 the IceCube Collaboration

Rcs

I3CurvatureSeedService.cxx 152938 2017-01-24 17:24:07Z olivas

Version

Rcs

152938

Date

Rcs

2017-01-24 11:24:07 -0600 (Tue, 24 Jan 2017)

Author

kath

Typedefs

typedef I3SingleServiceFactory<I3CurvatureSeedService, I3SeedServiceBase> I3CurvatureSeedServiceFactory
file I3CurvatureSeedService.h
#include <string>
#include “icetray/I3Units.h”
#include “icetray/I3ServiceBase.h”
#include “gulliver/I3SeedServiceBase.h”
#include <recclasses/I3LaputopParams.h>
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/physics/I3RecoPulse.h”

declaration of the I3CurvatureSeedService class

(c) 2007 the IceCube Collaboration

Rcs

I3CurvatureSeedService.h 142579 2016-02-26 23:33:46Z kath

Version

Rcs

142579

Date

Rcs

2016-02-26 17:33:46 -0600 (Fri, 26 Feb 2016)

Author

kath

file I3LaputopFitter.cxx
#include “icetray/IcetrayFwd.h”
#include <string>
#include <list>
#include <functional>
#include “toprec/I3LaputopFitter.h
#include “icetray/I3Context.h”
#include “icetray/I3Frame.h”
#include “icetray/I3Bool.h”
#include “gulliver/I3EventLogLikelihoodBase.h”
#include “gulliver/I3ParametrizationBase.h”
#include “gulliver/I3Gulliver.h”
#include “gulliver/I3MinimizerBase.h”
#include “gulliver/I3EventHypothesis.h”
#include “gulliver/utilities/ordinal.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “phys-services/I3Calculator.h”
#include <recclasses/I3LaputopParams.h>

copyright (C) 2005 the icecube collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

Functions

I3_MODULE(I3LaputopFitter)
file I3LaputopFitter.h
#include “gulliver/I3Gulliver.h”
#include “gulliver/I3SeedServiceBase.h”
#include “icetray/I3ConditionalModule.h”
#include “icetray/IcetrayFwd.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/I3Map.h”

copyright (C) 2005 the icecube collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

file I3LaputopLikelihood.cxx
#include <cassert>
#include “icetray/I3SingleServiceFactory.h”
#include “dataclasses/I3Position.h”
#include “dataclasses/I3Direction.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/status/I3DetectorStatus.h”
#include “dataclasses/calibration/I3Calibration.h”
#include “dataclasses/status/I3DOMStatus.h”
#include “dataclasses/StationKey.h”
#include “icetray/I3Frame.h”
#include “phys-services/I3Calculator.h”
#include <recclasses/I3LaputopParams.h>
#include <boost/math/special_functions/erf.hpp>
#include <boost/make_shared.hpp>

implementation of the I3LaputopLikelihood class

(c) 2005 * the IceCube Collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

Defines

TESTMODE_WITH_TRUE_TSTAGE

Typedefs

typedef I3SingleServiceFactory<I3LaputopLikelihood, I3EventLogLikelihoodBase> I3LaputopLikelihoodServiceFactory

Variables

const std::string NKG_NAME = "nkg"
const std::string DLP_NAME = "dlp"
const std::string POWERLAW_NAME = "power"
const std::string GAUSSPAR_NAME = "gausspar"
const std::string KISLAT_NAME = "kislat"
const std::string EMILY_NAME = "gaussparemily"
const std::string RAWLINS_NAME = "gaussparfree"
const double VEM_THRESHOLD = 0.1657
const double SAT_LG = 90000.
const double SAT_HG = 3000.
file I3LaputopLikelihood.h
#include <string>
#include “icetray/IcetrayFwd.h”
#include “icetray/I3ServiceBase.h”
#include “gulliver/I3EventHypothesis.h”
#include “gulliver/I3EventLogLikelihoodBase.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/StationKey.h”
#include “recclasses/I3LaputopParams.h”

declaration of the I3LaputopLikelihood class

(c) 2005 * the IceCube Collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

Functions

I3_POINTER_TYPEDEFS(I3LaputopLikelihood)
file I3LaputopParametrization.cxx
#include “icetray/I3SingleServiceFactory.h”
#include “gulliver/I3Gulliver.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/I3Constants.h”
#include <cmath>
#include <recclasses/I3LaputopParams.h>

implementation of the I3LaputopParametrization class

(c) 2007 the IceCube Collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

Typedefs

typedef I3SingleServiceFactory<I3LaputopParametrization, I3ParametrizationBase> I3LaputopParametrizationServiceFactory

Functions

I3_SERVICE_FACTORY(I3LaputopParametrizationServiceFactory)
file I3LaputopParametrization.h
#include <string>
#include “icetray/I3Units.h”
#include “icetray/I3ServiceBase.h”
#include “gulliver/I3ParametrizationBase.h”

declaration of the I3LaputopParametrization class

(c) 2007 the IceCube Collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

file I3LaputopSeedService.cxx
#include <string>
#include <cassert>
#include <cmath>
#include “recclasses/I3TopRecoPlaneFitParams.h”
#include “toprec/TTopRecoShower.h
#include “recclasses/I3TopLateralFitParams.h”
#include “icetray/I3SingleServiceFactory.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/I3Constants.h”

implementaration of the I3LaputopSeedService class

(c) 2007 the IceCube Collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

Typedefs

typedef I3SingleServiceFactory<I3LaputopSeedService, I3SeedServiceBase> I3LaputopSeedServiceFactory

Variables

const double SAT_HG = 3000.
file I3LaputopSeedService.h
#include <string>
#include “icetray/I3Units.h”
#include “icetray/I3ServiceBase.h”
#include “gulliver/I3SeedServiceBase.h”
#include <recclasses/I3LaputopParams.h>
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/physics/I3RecoPulse.h”

declaration of the I3LaputopSeedService class

(c) 2007 the IceCube Collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

file I3RadeFunctionService.cxx
#include <string>
#include <cassert>
#include <cmath>
#include “icetray/I3SingleServiceFactory.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/I3Constants.h”

Typedefs

typedef I3SingleServiceFactory<I3RadeBasicSnowAttenuationService, I3SnowAttenuationServiceBase> I3RadeBasicSnowAttenuationServiceFactory
typedef I3SingleServiceFactory<I3RadeMuonSnowAttenuationService, I3SnowAttenuationServiceBase> I3RadeMuonSnowAttenuationServiceFactory
typedef I3SingleServiceFactory<I3Rade3SnowAttenuationService, I3SnowAttenuationServiceBase> I3Rade3SnowAttenuationServiceFactory
file I3SnowAttenuationService.cxx
#include <string>
#include <cassert>
#include <cmath>
#include “icetray/I3SingleServiceFactory.h”
#include “dataclasses/I3Double.h”
#include “dataclasses/I3Constants.h”

implementaration of the I3SnowAttenuationService class

(c) 2007 the IceCube Collaboration $Id$

Version

$Revision$

Date

$Date$

Author

kath

Typedefs

typedef I3SingleServiceFactory<I3SimpleSnowAttenuationService, I3SnowAttenuationServiceBase> I3SimpleSnowAttenuationServiceFactory
file I3SnowAttenuationService.h
#include <string>
#include <icetray/I3Logging.h>
#include <icetray/I3ServiceBase.h>
#include <dataclasses/physics/I3Particle.h>
#include <dataclasses/I3Position.h>
#include “toprec/tankPulse.h
#include <recclasses/I3LaputopParams.h>
#include <cmath>

declaration of the I3SnowAttenuationService classes

(c) 2007 the IceCube Collaboration $Id$

Version

Rcs

90223

Date

$Date$

Author

kath

Functions

I3_POINTER_TYPEDEFS(I3SnowAttenuationServiceBase)
I3_POINTER_TYPEDEFS(I3SimpleSnowAttenuationService)
I3_POINTER_TYPEDEFS(I3BORSSnowAttenuationService)
I3_POINTER_TYPEDEFS(I3RadeBasicSnowAttenuationService)
I3_POINTER_TYPEDEFS(I3RadeMuonSnowAttenuationService)
I3_POINTER_TYPEDEFS(I3Rade3SnowAttenuationService)
file I3TopRecoCore.cxx
#include “toprec/I3TopRecoCore.h
#include “toprec/TTopRecoShower.h
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/physics/I3EventHeader.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/geometry/I3TankGeo.h”
#include “dataclasses/geometry/I3OMGeo.h”
#include “dataclasses/physics/I3RecoHit.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/physics/I3Particle.h”

Copyright (C) 2004 The IceCube collaboration ID: $Id$

Version

Rcs

27576

Date

$Date$

Author

Rcs

klepser

Functions

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

Copyright (C) 2004 The IceCube collaboration ID: $Id$

Version

Rcs

27576

Date

$Date$

Author

Rcs

klepser

file I3TopRecoPlane.cxx
#include “toprec/I3TopRecoPlane.h
#include “toprec/TTopRecoShower.h
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/physics/I3EventHeader.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/geometry/I3TankGeo.h”
#include “dataclasses/geometry/I3OMGeo.h”
#include “dataclasses/physics/I3RecoHit.h”
#include “dataclasses/physics/I3RecoPulse.h”

Copyright (C) 2004 The IceCube collaboration ID: $Id$

Version

Rcs

29961

Date

$Date$

Author

Rcs

csong

Functions

I3_MODULE(I3TopRecoPlane)
file I3TopRecoPlane.h
#include “icetray/I3ConditionalModule.h”
#include “dataclasses/physics/I3Particle.h”
#include “recclasses/I3TopRecoPlaneFitParams.h”

Copyright (C) 2004 The IceCube collaboration ID: $Id$

Version

Rcs

29961

Date

$Date$

Author

Rcs

csong

file LateralFitFunctions.cxx
#include <vector>
#include <gsl/gsl_sf_gamma.h>

Copyright (C) 2007 The IceCube collaboration ID: $Id$

Version

$Rev$

Date

$Date$

Author

$Author$

file LateralFitFunctions.h
#include <cstdlib>
#include <vector>
#include “icetray/I3Units.h”
#include “icetray/I3TrayHeaders.h”
#include “recclasses/I3LaputopParams.h”

Copyright (C) 2007 The IceCube collaboration ID: $Id$

Version

$Rev$

Date

$Date$

Author

$Author$

file SnowAttenuationDiagnostics.cxx
#include <icetray/serialization.h>

Functions

I3_SERIALIZABLE(SnowAttenuationDiagnostics)
file SnowAttenuationDiagnostics.h
#include “icetray/I3FrameObject.h”
#include “icetray/serialization.h”

Functions

I3_POINTER_TYPEDEFS(SnowAttenuationDiagnostics)
file SnowAttenuationDiagnosticsConverter.cxx
file SnowAttenuationDiagnosticsConverter.h
#include “tableio/I3Converter.h”
file tankPulse.h
#include “icetray/OMKey.h”
file TopRecoFunctions.cxx
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/geometry/I3TankGeo.h”
#include “dataclasses/geometry/I3OMGeo.h”
#include “dataclasses/status/I3DetectorStatus.h”
#include “dataclasses/status/I3DOMStatus.h”
#include “dataclasses/physics/I3RecoHit.h”
#include “dataclasses/physics/I3RecoPulse.h”

Copyright (C) 2007 The IceCube collaboration ID: $Id$

Version

$Rev$

Date

$Date$

Author

$Author$

file TopRecoFunctions.h
#include <cstdlib>
#include <vector>
#include “dataclasses/physics/I3Particle.h”
#include “icetray/I3TrayHeaders.h”

Copyright (C) 2007 The IceCube collaboration ID: $Id$

Version

$Rev$

Date

$Date$

Author

$Author$

file TTopRecoShower.cxx
#include “toprec/TTopRecoShower.h
#include <recclasses/I3TopLateralFitParams.h>
#include <recclasses/I3TopRecoPlaneFitParams.h>
#include “icetray/OMKey.h”
#include “dataclasses/TankKey.h”
#include “icetray/I3TrayHeaders.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/geometry/I3OMGeo.h”
#include “dataclasses/status/I3DetectorStatus.h”
#include “dataclasses/status/I3DOMStatus.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include “icetray/I3Units.h”
#include “dataclasses/I3Constants.h”
#include <algorithm>

Copyright (C) 2007 The IceCube collaboration ID: $Id$

Version

Rcs
Date

$Date$

Author

Rcs

file TTopRecoShower.h
#include “icetray/OMKey.h”
#include “dataclasses/StationKey.h”
#include “dataclasses/I3Direction.h”
#include “dataclasses/I3Position.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”
#include “dataclasses/geometry/I3TankGeo.h”
#include “phys-services/I3Calculator.h”
#include “dataclasses/I3Constants.h”
#include “dataclasses/physics/I3RecoPulse.h”
#include <map>
#include <vector>
#include <string>

Copyright (C) 2007 The IceCube collaboration ID: $Id$

Version

Rcs
Date

$Date$

Author

Rcs

Defines

FOR_GULLIVER
page todo

Class I3LaputopFitter

There is probably more to be said here.

dir converter
dir curvaturefitter
dir icetray
dir laputop
dir private
dir public
dir snowservices
dir toprec
dir toprec
dir toprec