portia C++ API Reference¶
-
class I3Portia : public I3ConditionalModule¶
- #include <I3Portia.h>
Public Functions
- SET_LOGGER ("I3Portia")
-
virtual ~I3Portia()¶
public deconstructor
-
void Configure()¶
IceTray requirement
-
void Physics(I3FramePtr frame)¶
IceTray requirement
Public Static Functions
-
static bool MakeSplittedDOMMap(I3DOMLaunchSeriesMap &launchMap, I3MapKeyVectorDouble &launchTimeMap, const I3Geometry &geo, bool makeIceTopPulse = false)¶
Function to make the “launchTimeMap” I3Map<OMKey,std::vector<launch_time>> = I3Map<OMKey, launchTimeSeries>
-
static bool MakeLaunchTimeSeries(const I3DOMLaunchSeries &launches, std::vector<double> &launchTimeSeries)¶
Public Static Attributes
Private Functions
-
I3Portia()¶
default assigment and copy constructors declared priveate
-
bool MakeATWDPulses(double launchTimeOfThisDOM, const I3Waveform &wave, const I3DOMCalibration &calib, const I3DOMStatus &status, const I3Position &pos, I3PortiaPulse &portia)¶
Function to make PortiaPulse and RecoPulse on each DOM found from ATWD
-
bool MakeFADCPulses(double launchTimeOfThisDOM, const I3Waveform &wave, const I3DOMCalibration &calib, const I3DOMStatus &status, const I3Position &pos, I3PortiaPulse &portia)¶
Function to make PortiaPulse and RecoPulse on each DOM found from FADC
-
bool MakeBestPulses(const I3PortiaPulse &atwd_p, const I3Waveform &fadc_w, const I3PortiaPulse &fadc_p, const I3DOMCalibration &calib, I3PortiaPulse &best_p)¶
Function to make PortiaPulse and RecoPulse from both ATWD and FADC e.g. NPE from the ATWD time window
-
void MakePortiaEvent(I3MapKeyVectorDouble &launchTimeMap, I3PortiaPulseMapPtr atwd_portia, I3PortiaPulseMapPtr fadc_portia, I3PortiaEventPtr portia_event, bool baseTimeWindowEvent = false)¶
Function to make Portia Event from PortiaPulses
Private Members
-
bool includeHighQEDOMs_¶
Whether or not to include high QE DOMs in charge estimate. Typically the high-QE DOMs are removed through a cut on string 79-86, before the launch map reaches Portia. But there are a few high-QE DOMs on string 36 and 43 that get missed and are therefore included in the default L2 chain. This will give the option to exclude them from the charge calculation.
-
bool readExternalDOMMap_¶
option concerning the (splitted) DOM map is read out instead of directly reading the DOM launch series map. This option is introduced in the p-frame split era to deal with SLOP frame.
-
bool makeBestPulse_¶
option which information FADC/ATWD and InIce/IceTop is used
-
bool makeIceTopPulse_¶
-
bool useFADC_¶
-
double pmtGain_¶
default pmt gain value (in case pmt gain from detector status is unavailable)
-
bool useFADCNoiseThreshold_¶
option to require FADC bins be above a noise threshold to be included in the FADC charge estimate
-
double FADCNoiseThreshold_¶
-
double atwdThresholdCharge_¶
A hit is considered to be a hit if its integrated charge is larger than this value
-
double fadcThresholdCharge_¶
-
double atwdThresholdLEAmp_¶
A LE time is considered to be the first bin which crosses this threshold
-
double fadcThresholdLEAmp_¶
-
double largestTime_¶
time of waveform with the largest NPE
-
bool foundLargestNPEDOM_¶
-
class I3PortiaEventOMKeyConverter : public I3ConditionalModule¶
- #include <I3PortiaEventOMKeyConverter.h>
a module to convert I3PortiaEvent to OMKey
copyright (C) 2004 the icecube collaboration
Public Functions
-
~I3PortiaEventOMKeyConverter()¶
Destructor
-
void Configure()¶
This module takes a configuration parameter and so it must be configured
-
void Physics(I3FramePtr frame)¶
Private Functions
-
I3PortiaEventOMKeyConverter()¶
-
I3PortiaEventOMKeyConverter(const I3PortiaEventOMKeyConverter &source)¶
-
I3PortiaEventOMKeyConverter &operator=(const I3PortiaEventOMKeyConverter &source)¶
- SET_LOGGER ("I3PortiaEventOMKeyConverter")
-
~I3PortiaEventOMKeyConverter()¶
-
class I3PortiaSplitter : public I3ConditionalModule¶
- #include <I3PortiaSplitter.h>
Public Functions
- SET_LOGGER ("I3PortiaSplitter")
-
virtual ~I3PortiaSplitter()¶
public deconstructor
-
void Configure()¶
IceTray requirement
-
void Physics(I3FramePtr frame)¶
IceTray requirement
Public Static Attributes
Private Functions
-
I3PortiaSplitter()¶
default assigment and copy constructors declared priveate
-
I3PortiaSplitter(const I3PortiaSplitter&)¶
-
I3PortiaSplitter &operator=(const I3PortiaSplitter&)¶
-
bool MakeSplittedDOMMap(const I3DOMLaunchSeriesMap &launchMap, I3MapKeyVectorDouble &splittedDOMMap, const I3Geometry &geo)¶
Function to make the “SplittedDOMMap” I3Map<OMKey,std::vector<launch_time>> = I3Map<OMKey, launchTimeSeries>
-
bool MakeLaunchTimeSeries(const I3DOMLaunchSeries &launches, std::vector<double> &launchTimeSeries)¶
Private Members
-
bool splitLaunchTime_¶
option to split series of launch time.
-
double frameStartTime_¶
if false, null split - every launch time goes to p-frame Start and end time of the trigger frame. All launches in [frameStartTime_, frameEndTime_] with kTimeMargin_ are bundled and thrown into a single p-frame. If splitLaunchTime_=false, every each of launches are bundled (i.e., null split)
-
double frameEndTime_¶
-
namespace std
STL namespace.
- file I3Portia.cxx
- #include “icetray/I3Tray.h”#include “icetray/I3Frame.h”#include “icetray/I3TrayHeaders.h”#include “dataclasses/calibration/I3Calibration.h”#include “dataclasses/status/I3DetectorStatus.h”#include “dataclasses/geometry/I3Geometry.h”#include “dataclasses/I3DOMFunctions.h”#include “icetray/OMKey.h”#include “icetray/I3Units.h”#include “dataclasses/I3Position.h”#include “dataclasses/physics/I3Waveform.h”#include “portia/I3Portia.h”#include “recclasses/I3PortiaPulse.h”#include “recclasses/I3PortiaEvent.h”#include <numeric>
- file I3Portia.h
- #include “icetray/I3ConditionalModule.h”#include “dataclasses/physics/I3DOMLaunch.h”#include “recclasses/I3PortiaPulse.h”#include “recclasses/I3PortiaEvent.h”
I3Portia stands for IceCube PORTable Impulse Analyzer, adapted to the name of the beautiful lady in “The Merchant of Venice”.
Copyright (C) 2005 The IceCube collaboration $ID$
- Version
- Rcs
1.0.0
- Date
- Rcs
Feb. 21st, 2008
- Author
Aya Ishihara aya.ishihara@icecube.wisc.edu I3Portia header file
- file I3PortiaEventOMKeyConverter.cxx
- #include “icetray/I3TrayHeaders.h”#include “portia/I3PortiaEventOMKeyConverter.h”#include “recclasses/I3PortiaEvent.h”#include “dataclasses/I3Vector.h”#include <iostream>
copyright (C) 2004 the icecube collaboration
- Rcs
I3PortiaEventOMKeyConverter.cxx 19641 2006-05-10 14:03:22Z dule
- Version
- Rcs
1.7
- Date
- Rcs
2006-05-10 23:03:22 +0900 (水, 10 5月 2006)
- Author
mase
Functions
-
I3_MODULE(I3PortiaEventOMKeyConverter)¶
- file I3PortiaEventOMKeyConverter.h
- #include “icetray/I3ConditionalModule.h”
- Version
$Revision$
- Date
$Date$
- Author
mase
- file I3PortiaSplitter.cxx
- #include “icetray/I3Tray.h”#include “icetray/I3Frame.h”#include “icetray/I3TrayHeaders.h”#include “dataclasses/physics/I3EventHeader.h”#include “dataclasses/geometry/I3Geometry.h”#include “dataclasses/I3Double.h”#include “icetray/OMKey.h”#include “icetray/I3Units.h”#include “portia/I3PortiaSplitter.h”#include <numeric>
Functions
-
I3_MODULE(I3PortiaSplitter)¶
-
I3_MODULE(I3PortiaSplitter)¶
- file I3PortiaSplitter.h
- #include “icetray/I3ConditionalModule.h”#include “dataclasses/physics/I3DOMLaunch.h”#include “dataclasses/I3Map.h”#include “dataclasses/I3TimeWindow.h”
The p-frame splitter for I3Portia. This is for the L2 EHE process, mainly to extract events out of SLOP. All DOM launch time within the time frame provied by trigger-splitter is bundled and emitted to a single p-frame.
Copyright (C) 2005 The IceCube collaboration $ID$
- Date
- Rcs
July. 27th, 2012
- Author
Shigeru Yoshida
- file index.dox
- dir icetray
- dir portia
- dir portia
- dir portia
- dir private
- dir public
- page index
- Author
Aya Ishihara <aya @ icecube.wisc.edu>
Overview¶
I3Portia filles classes of I3PortiaPulse and I3PortiaEvent
Portia loops over all the DOM launches and integrate ATWD and FADC waveform divided by a single charge. Output pulse information is stored in I3PortiaPulse class. I3PortiaPulse has a member of I3RecoPulse and basic information is filled in the class. Output NPEs from ATWD and FADC are compared dom-by-dom basis and whichever gives a larger value is summed up for the event-sum NPE value. These event-wise information is stored in I3PortiaEvent class. Main members are NPE from ATWD and FADC whichever gives larger value, ATWD based NPE sum, and FADC based NPE sum.
- [What Portia does]
There is an option to make best pulse. The best pulse means that in addition to the ATWD based NPE, FADC based NPE obtaind after the ATWD time-window size is added. This is effective because ATWD time window is narrow but saturation point is high, while FADC time window is wide but saturation point is low.
- [Making the best pulse]
If this option is chosen, the event-wise best NPE value is also calculated based on the sum of ATWD plus after-window FADC based NPEs.
There are the same set of baseline option for ATWD and FADC.
- [Baseline estimation]
- [All Parameter list]
All the parameters are in the standard IceTray units with I3Units.
structure¶
- param eheoptimized(default):
Described in the figure above.
- param first:
The average of first 2 bins for ATWD and 3 bins for FADC.
- param last:
The average of last 3 bins for ATWD and FADC.
- param lower:
The average of the lowest 8 entries for ATWD and the lowest 16 entries for FADC.
- param first_or_last:
Either first or last whichever gives lower value.
- param iteration:
At first, take average of waveform. Select bin entries which are only below the average (called Waveform_reduced). Then calculate the average and RMS of the reduced entries which are below the average (called RMS_reduced, average_reduced). Scan the Waveform_reduced and remove bins of which values are larger than average_reduced + 1.5*RMS_reduced or are smaller than average_reduced - 1.5*RMS_reduced. Again calculate RMS and average with only updated reduced bins and repeat this processs for 10 times or until the number of entry become less than 30. Finally take the average of remained entry as the baseline. Fixed numbers, 1.5, 10 and 30 are from hardware single charge response study.
- param zerobaseline:
Take 0mV as the baseline.
- param DataReadoutName:
Input raw data I3DOMLaunch name (default CleanInIceRawData)
- param OutPortiaEventName:
Out (default “PortiaEvent”)
- param PMTGain:
default PMT gain value (default 1.e7). this number is used only when PMT Gain from I3DB is not reasonbale (i.e, N/A, 0 or 1)
- param ATWDPulseSeriesName:
Output name for reco pulse from ATWD (default “ATWDPulseSeries”)
- param ATWDPortiaPulseName:
Output name for portia pulse from ATWD (default “ATWDPortiaPulse”)
- param ATWDWaveformName:
Input calibrated ATWD waveform name (default “CalibratedATWD”)
- param ATWDBaseLineOption:
Baseline option, currently first,last,lower,first_or_last,iteration or eheoptimized are available (default “eheoptimized”). For details of each option, please see above.
- param ATWDThresholdCharge:
Threshold charge above which an waveform is considered to be a pulse(default 0.1pC)
- param ATWDLEThresholdAmplitude:
the time the waveform crosses this value is considered to be LE time (default 0.5mV)
- param UseFADC:
if both ATWD and FADC are used (default True)
- param FADCPulseSeriesName:
Output name for reco pulse from FADC (default “FADCPulseSereis”)
- param FADCPortiaPulseName:
Output name for portia pulse from FADC (default “FADCPortiaPulse”)
- param FADCWaveformName:
Input calibrated FADC waveform name (default FADC)
- param FADCBaseLineOption:
Baseline option, currently first,last,lower,first_or_last,iteration or eheoptimized are available (default “eheoptimized”). For details of each option, please see above.
- param FADCThresholdCharge:
Threshold charge above which an waveform is considered to be a pulse(default 0.1pC)
- param FADCLEThresholdAmplitude:
the time the waveform crosses this value is considered to be LE time (default 0.5mV)
- param MakeBestPulseSeries:
Select to do if best pulse is from both ATWD and FADC (default False)
- param BestPortiaPulseName:
output best portia pulse in case MakeBestPulseSeries is true (default “BestPortiaPulse”)
- param MakeIceTopPulse:
Select to make IceTop pulses(default False)
- param TopDataReadoutName:IceTop:
DomLaunch name (default “CleanIceTopRawData”)
- param inTopATWDWaveformName:Input:
IceTop waveform name (default “CalibratedIceTopATWD”)