core-removal C++ API Reference

class I3CascadeFitCoreRemoval : public I3Module

A module that is designed to separate a single set of pusles into two sets of pulses, based on a prior vertex seed, and a prior energy fit (although this can be done in-house using an energy to nch calibration).

Public Functions

I3CascadeFitCoreRemoval(const I3Context &context)

IceTray constructor.

Parameters:

context – the context (set ot services) provided by Icetray.

Returns:

an instance of this class.

~I3CascadeFitCoreRemoval()

Destructor

void Configure()

Configure the module.

void Finish()

Perform any cleanup at the end of a script.

void Physics(I3FramePtr frame)

Process a physics frame.

Private Functions

double CalculateSPERadius(I3ParticleConstPtr vertex)

Calculate the SPE Radius based on the vertex energy. Actually calls the method with the same name, but with the different signature.

Parameters:

vertex – the prior vertex reconstruction (an input from the user).

Returns:

the SPE radius, as determined by the energy.

double CalculateSPERadius(double energy)

Calculate the SPE Radius based on the vertex energy.

Parameters:

energy – the reco’d energy of the event.

Returns:

the SPE radius, as determined by the energy.

double EstimateEnergyFromNCh(int nCh)

Provides a way of estimating the energy from the number of hit channels.

Parameters:

nCh – the number of hit channels in the event.

Returns:

the energy estimated from the NCh.

void SplitPulsesByEnergyRadius(I3FramePtr frame, I3RecoPulseSeriesMapConstPtr inputPulseSeriesMap, const double hitRemovalRadius, I3ParticleConstPtr vertex, const I3Geometry &geometry)

Splits the input recopulses into 2 sets, determined by the input vertex and the energy of the event, and places each in the frame

Parameters:
  • frame – pointer to an I3Frame object

  • inputPulseSeriesMap – the input pulses.

  • hitRemovalRadius – the radius of separation, outside of which hits will be considered “Corona” pulses, and inside of which the pulses will be considered to be “Core”.

  • vertex – the seed vertex, as provided by the user.

  • geometry – the geometry map from the Geometry frame.

void CalculateSpline()

The SPE Radius versus energy plot eventually diverges from linear, so this patches the trend so that it doesn’t go negative, but rather approaches some constant value.

void PushEmptyResultIntoFrameToHandleBadCase(I3FramePtr frame)

This does exaclty what it says it does.

SET_LOGGER ("I3CascadeFitCoreRemoval")

Private Members

std::string vertexName_
std::string recoPulseInputName_
std::string recoPulseOutputName_
std::string corePulsesOutputName_
std::string radiusName_
bool nChCalib_
double speFraction_
double lambdaAttn_
double cLambda_
double minRadius_
double splineConst_
double criticalEnergy_

Friends

friend class I3CascadeFitCoreRemovalTester
namespace std

STL namespace.

file I3CascadeFitCoreRemoval.cxx
#include “dataclasses/I3Double.h”
#include “icetray/I3Units.h”

Definition of I3CascadeFitCoreRemoval

(c) 2009 the IceCube Collaboration $Id$

Date

$Date$

Author

rutledge

Functions

I3_MODULE(I3CascadeFitCoreRemoval)
file I3CascadeFitCoreRemoval.h
#include “icetray/I3Module.h”
#include “icetray/I3TrayHeaders.h”
#include <string>
#include “dataclasses/physics/I3RecoPulse.h”
#include “dataclasses/I3MapOMKeyMask.h”
#include “dataclasses/physics/I3Particle.h”
#include “dataclasses/geometry/I3Geometry.h”

Declaration of I3CascadeFitCoreRemoval

(c) 2009 the IceCube Collaboration $Id$

Date

$Date$

Author

rutledge

dir core-removal
dir core-removal
dir core-removal
dir icetray
dir private
dir public