vemcal C++ API Reference¶
-
struct HGLGhit¶
- #include <I3VEMCalData.h>
This structure stores the data to do the charge correlation between the high gain (HG) and low gain (LG) DOMs in the same IceTop tank.
Public Members
-
int8_t str¶
String/Station number.
-
int8_t hg_om¶
Number of the HIGH gain DOM.
-
int8_t hg_chip¶
Chip ID of the HIGH gain DOM.
-
int8_t hg_channel¶
Channel of the HIGH gain DOM.
-
uint16_t hg_charge_pe¶
Total charge of the HIGH gain hit.
-
int8_t lg_om¶
Number of the LOW gain DOM.
-
int8_t lg_chip¶
Chip ID of the LOW gain DOM.
-
int8_t lg_channel¶
Channel of the LOW gain DOM.
-
uint16_t lg_charge_pe¶
Total charge of the LOW gain hit.
-
int8_t deltat_2ns¶
Time difference between HG and LG signal in units of 2ns.
Friends
- friend class icecube::serialization::access
-
int8_t str¶
-
class I3HGLGPairSelector : public I3ConditionalModule¶
- #include <I3HGLGPairSelector.h>
Public Functions
-
~I3HGLGPairSelector()¶
-
void Configure()¶
Re-implementation of Configure method.
-
void DAQ(I3FramePtr frame)¶
Re-implementation of DAQ method.
Private Functions
- SET_LOGGER ("I3HGLGPairSelector")
-
~I3HGLGPairSelector()¶
-
struct I3ITSLCCalData : public I3FrameObject¶
- #include <I3ITSLCCalData.h>
Public Members
-
uint32_t runID¶
Run number.
This structure stores the information of an HLC IceTop hit which was also treated as an SLC
-
std::vector<ITSLCCalItem> HLC_vs_SLC_Hits¶
Collection of minimum bias hits.
Friends
- friend class icecube::serialization::access
-
uint32_t runID¶
-
class I3ITSLCCalExtractor : public I3ConditionalModule¶
- #include <I3ITSLCCalExtractor.h>
This module extracts all the information which is needed to perform the SLC calibration and writes the data in a condensed format to the frame.
Public Functions
-
virtual ~I3ITSLCCalExtractor()¶
-
void Configure()¶
Re-implementation of the Configure method of the I3Module.
-
void DAQ(I3FramePtr frame)¶
Re-implementation of the Physics method of the I3Module.
Private Functions
-
void FillSLCData(const I3Frame &frame, I3ITSLCCalData &slcCalData)¶
Extracts the minimum bias his from the frame and stores the hit information in the I3ITSLCCalData container.
- SET_LOGGER ("I3ITSLCCalExtractor")
Private Members
-
std::string waveformName_¶
Name of the IceTop Raw Data — needed to harvest the chip/atwd numbers.
-
std::string downgradedPulsesName_¶
Name of the pulses that have been artificially “downgraded” to SLC pulses in the frame.
-
std::string slcCalDataName_¶
Output name of the I3ITSLCCalData container in the frame.
-
virtual ~I3ITSLCCalExtractor()¶
-
struct I3VEMCalData : public I3FrameObject¶
- #include <I3VEMCalData.h>
Public Members
-
std::vector<MinBiasHit> minBiasHits¶
Collection of minimum bias hits.
Friends
- friend class icecube::serialization::access
-
std::vector<MinBiasHit> minBiasHits¶
-
class I3VEMCalExtractor : public I3ConditionalModule¶
- #include <I3VEMCalExtractor.h>
This module extracts all the information which is needed to perform the muon calibration and writes the data in a condensed format to the frame.
Public Functions
-
virtual ~I3VEMCalExtractor()¶
-
void Configure()¶
Re-implementation of the Configure method of the I3Module.
-
void DAQ(I3FramePtr frame)¶
Re-implementation of the Physics method of the I3Module.
Private Functions
-
void FillVEMData(const I3Frame &frame, I3VEMCalData &vemCalData)¶
Extracts the minimum bias his from the frame and stores the hit information in the I3VEMCalData container.
-
void FillHGLGData(const I3Frame &frame, I3VEMCalData &vemCalData)¶
Extracts the HG-LG correlation hits from the normal physics pulses and stores the information in the I3VEMCalData container.
- SET_LOGGER ("I3VEMCalExtractor")
Private Members
-
std::string vemCalDataName_¶
Output name of the I3VEMCalData container in the frame.
-
virtual ~I3VEMCalExtractor()¶
-
class I3VEMCalHistWriter : public I3ConditionalModule¶
- #include <I3VEMCalHistWriter.h>
This module reads the information from the I3VEMCalData containers and generates histohrams which are stored in one rootfile per run.
Public Functions
-
~I3VEMCalHistWriter()¶
-
void Configure()¶
Re-implementation of the Configure method of the I3Module.
-
void Physics(I3FramePtr frame)¶
Re-implementation of the Physics method of the I3Module.
-
inline void Finish()¶
Re-implementation of the Finish method of the I3Module.
Private Functions
-
void Clear()¶
Deletes all histograms, the root file and resets the run number.
-
void Write()¶
Writes the histograms to the root file.
-
void FillMuonHistos(const I3VEMCalData::MinBiasHit &minBiasHit)¶
Fills the minimum bias hits into 1D-histograms.
-
void FillHGLGHistos(const I3VEMCalData::HGLGhit &hglgHit)¶
Fills the HG-LG correlation hits into 2D-histograms.
- SET_LOGGER ("I3VEMCalHistWriter")
Private Members
-
std::string vemCalDataName_¶
Name of the I3VEMCalData container in the frame.
-
std::string workDir_¶
Base directory where the ROOT files will be stored in separate folders for each day.
-
double maxTimeDiff_¶
Upper limit for the time difference between HG and LG hits in the same tank.
-
int currentRunNumber_¶
Run number of the current run.
-
TFile *outfile_¶
Pointer to the ROOT file.
-
MuonHistMap muonHistos_¶
-
HGLGHistMap hglgHistos_¶
-
~I3VEMCalHistWriter()¶
-
class I3VEMCalTreeWriter : public I3ConditionalModule¶
- #include <I3VEMCalTreeWriter.h>
This class collects the I3VEMCalData containers from the frame and stores their contents into individual ROOT files for each run. The rootfiles will contain two trees: The “muonTree” stores the information of the minimum bis hits, whereas the “hglgTree” contains the HG-LG correlation data.
Public Functions
-
~I3VEMCalTreeWriter()¶
-
void Configure()¶
Re-implementation of the Configure method of the I3Module.
-
void Physics(I3FramePtr frame)¶
Re-implementation of the Physics method of the I3Module.
-
inline void Finish()¶
Re-implementation of the Finish method of the I3Module.
Private Functions
-
void Clear()¶
Deletes all trees and the ROOT file and resets the run number.
-
void Write()¶
Writes the trees to the ROOT file.
-
void FillVEMTree(const I3Time &startTime, const I3VEMCalData::MinBiasHit &minBiasHit)¶
Fills the minimum bias hits to the “muonTree”.
-
void FillHGLGTree(const I3VEMCalData::HGLGhit &hglgHit)¶
Fills the HG-LG correlation hits to the “hglgTree”.
- SET_LOGGER ("I3VEMCalTreeWriter")
Private Members
-
std::string vemCalDataName_¶
Name of the I3VEMCalData container in the frame.
-
std::string workDir_¶
Base directory where the ROOT files will be stored in separate folders for each day
-
int currentRunNumber_¶
Run number of the current run.
-
TFile *outfile_¶
Pointer to the ROOT file.
-
TTree *muonTree_¶
Pointer to the muon tree.
-
TTree *hglgTree_¶
Pointer to the HGLG tree.
-
~I3VEMCalTreeWriter()¶
-
struct ITSLCCalItem¶
- #include <I3ITSLCCalData.h>
Public Functions
-
inline void SetSOCA(int s, int o, int c, int a)¶
Construction/Un-Construction of the “Str/OM/Chip/ATWD” combined integer Assumes Each string contains: 4 DOM’s each, 2 chips each, 3 ATWD’s each For 81 strings, that means 1944 possibilities total — retures 11 bits, and so int16_t I know this is a bit magic-number-ish, but I’m going to try this just to see if it works, and it can get fancier later.
-
inline int GetSOCA(int which) const¶
-
inline int GetString() const¶
-
inline int GetOM() const¶
-
inline int GetChip() const¶
-
inline int GetATWD() const¶
-
inline ITSLCCalItem()¶
-
inline ITSLCCalItem(int str, unsigned int om, int chip, int atwd)¶
-
inline ITSLCCalItem(int s, int hlc, int slc)¶
-
virtual ~ITSLCCalItem()¶
-
bool operator==(const ITSLCCalItem &rhs) const¶
-
inline bool operator!=(const ITSLCCalItem &rhs) const¶
Public Members
-
int16_t soca_¶
One integer representing str/om/chip/atwd, so this will be super-lightweight.
Friends
- friend class icecube::serialization::access
-
inline void SetSOCA(int s, int o, int c, int a)¶
-
struct MinBiasHit¶
- #include <I3VEMCalData.h>
This structure stores the information of an IceTop minimum bias hit.
Public Members
-
int8_t str¶
String/Station number.
-
int8_t om¶
DOM number.
-
int8_t chip¶
Chip ID.
-
int8_t channel¶
Channel ID.
-
int16_t charge_dpe¶
Total charge of the hit in deci pe.
Friends
- friend class icecube::serialization::access
-
int8_t str¶
-
class VEMCalAnalyzer¶
- #include <VEMCalAnalyzer.h>
Private Functions
-
int FitMuonSpectrum(TH1F *hist, double &peak, double &width, double &sbRatio, double &rChi2)¶
-
int FitHGLGCorrelation(TH2F *hist, double &lgCorr, double &hgCross, double &rChi2)¶
-
bool Summarize(TFile *rootfile, const VEMCalResultMap &results)¶
-
void WriteXML(const VEMCalResultMap &results, bool isGood = true)¶
-
TH1F *Smooth(TH1F *hist, int binRange = 4)¶
-
void ExpStartValues(TH1F *hist, double x1, double x2, double &norm, double &slope, double offset = 0)¶
-
int FindPeakBin(TH1F *hist, double xmin, double xmax, double minval = 0, int nsigma = 3)¶
-
TH1F *ProfileX(TH2F *hist)¶
-
void HGLGStartValues(TH1F *hist, double x1, double x2, double x0, double y0, double &p2, double &p3)¶
-
TH1F *FillVEMHistograms(const VEMCalResultMap &results, const std::pair<OMKey, double> &min_vem_hg, const std::pair<OMKey, double> &max_vem_hg, const std::pair<OMKey, double> &min_vem_lg, const std::pair<OMKey, double> &max_vem_lg)¶
Private Members
-
int firstRunID_¶
-
int lastRunID_¶
-
bool storeHistos_¶
-
MuonHistMap muonHistos_¶
-
HGLGHistMap hglgHistos_¶
-
int FitMuonSpectrum(TH1F *hist, double &peak, double &width, double &sbRatio, double &rChi2)¶
-
struct VEMCalResult¶
- #include <VEMCalAnalyzer.h>
Public Functions
-
inline VEMCalResult()¶
-
inline VEMCalResult()¶
-
namespace std
STL namespace.
- file analyze.cxx
- #include <iostream>#include <vector>#include <string>#include <vemcal/VEMCalAnalyzer.h>
Functions
-
int main(int argc, char *argv[])
-
int main(int argc, char *argv[])
- file I3HGLGPairSelector.cxx
- #include <vemcal/I3HGLGPairSelector.h>#include <dataclasses/physics/I3RecoPulse.h>#include <dataclasses/I3MapOMKeyMask.h>
Copyright (C) 2009 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
Functions
-
I3_MODULE(I3HGLGPairSelector)¶
- file I3HGLGPairSelector.h
- #include <icetray/I3ConditionalModule.h>#include <string>
Copyright (C) 2009 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
- file I3ITSLCCalData.cxx
- #include <vemcal/I3ITSLCCalData.h>#include <icetray/serialization.h>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
- file I3ITSLCCalData.h
- #include <vector>#include <stdint.h>#include <icetray/I3FrameObject.h>#include <icetray/I3DefaultName.h>#include <dataclasses/I3Time.h>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
Functions
-
I3_CLASS_VERSION(ITSLCCalItem, i3itslccaldata_version_)¶
-
I3_POINTER_TYPEDEFS(ITSLCCalItem)¶
-
I3_DEFAULT_NAME(ITSLCCalItem)¶
-
I3_CLASS_VERSION(I3ITSLCCalData, i3itslccaldata_version_)¶
-
I3_POINTER_TYPEDEFS(I3ITSLCCalData)¶
-
I3_DEFAULT_NAME(I3ITSLCCalData)¶
Variables
-
static const unsigned i3itslccaldata_version_ = 0¶
Similar to I3VEMCalData, this class is a lightweight container to be written to the frame, which contains what will be necessary to perform SLC calibration of the IceTop DOMs.
- file I3ITSLCCalExtractor.cxx
- #include <vemcal/I3ITSLCCalExtractor.h>#include <icetray/I3Frame.h>#include <icetray/I3Units.h>#include <icetray/OMKey.h>#include <dataclasses/I3Constants.h>#include <dataclasses/physics/I3RecoPulse.h>#include <dataclasses/physics/I3EventHeader.h>#include <dataclasses/status/I3DetectorStatus.h>#include <dataclasses/physics/I3Waveform.h>#include <tpx/I3TopPulseInfo.h>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
Functions
-
I3_MODULE(I3ITSLCCalExtractor)¶
- file I3ITSLCCalExtractor.h
- #include <icetray/I3ConditionalModule.h>#include <vemcal/I3ITSLCCalData.h>#include <string>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
- file I3VEMCalData.cxx
- #include <vemcal/I3VEMCalData.h>#include <icetray/serialization.h>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
Functions
- union SingleChipID __attribute ((packed))
-
SingleChipID()
-
ChipPairID()
-
I3_SERIALIZABLE(I3VEMCalData::MinBiasHit)¶
-
I3_SERIALIZABLE(I3VEMCalData::HGLGhit)¶
-
I3_SERIALIZABLE(I3VEMCalData)¶
- file I3VEMCalData.h
- #include <vector>#include <stdint.h>#include <icetray/I3FrameObject.h>#include <icetray/I3DefaultName.h>#include <dataclasses/I3Time.h>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
Functions
-
I3_CLASS_VERSION(I3VEMCalData::MinBiasHit, i3vemcaldata_version_)¶
-
I3_CLASS_VERSION(I3VEMCalData::HGLGhit, i3vemcaldata_version_)¶
-
I3_CLASS_VERSION(I3VEMCalData, i3vemcaldata_version_)¶
-
I3_POINTER_TYPEDEFS(I3VEMCalData)¶
-
I3_DEFAULT_NAME(I3VEMCalData)¶
Variables
-
static const unsigned i3vemcaldata_version_ = 2¶
This class is the main data container which will be written to the frame. It stores all the information which is needed to perform the muon calibration of the IceTop DOMs.
- file I3VEMCalExtractor.cxx
- #include <vemcal/I3VEMCalExtractor.h>#include <icetray/I3Frame.h>#include <icetray/I3Units.h>#include <icetray/OMKey.h>#include <dataclasses/I3Constants.h>#include <dataclasses/geometry/I3Geometry.h>#include <dataclasses/physics/I3DOMLaunch.h>#include <dataclasses/physics/I3RecoPulse.h>#include <dataclasses/physics/I3EventHeader.h>#include <dataclasses/status/I3DetectorStatus.h>#include <tpx/I3TopPulseInfo.h>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
Functions
-
I3_MODULE(I3VEMCalExtractor)¶
- file I3VEMCalExtractor.h
- #include <icetray/I3ConditionalModule.h>#include <vemcal/I3VEMCalData.h>#include <string>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
- file I3VEMCalHistWriter.cxx
- #include <icetray/I3Frame.h>#include <icetray/I3Units.h>#include <dataclasses/I3Time.h>#include <vemcal/I3VEMCalHistWriter.h>#include <dataclasses/TankKey.h>#include <TFile.h>#include <TH1F.h>#include <TH2F.h>#include <TSystem.h>#include <sstream>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
Functions
-
I3_MODULE(I3VEMCalHistWriter)¶
- file I3VEMCalHistWriter.h
- #include <icetray/I3ConditionalModule.h>#include <icetray/OMKey.h>#include <vemcal/I3VEMCalData.h>#include <string>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
- file I3VEMCalTreeWriter.cxx
- #include <icetray/I3Frame.h>#include <dataclasses/I3Time.h>#include <vemcal/I3VEMCalTreeWriter.h>#include <icetray/I3Units.h>#include <TFile.h>#include <TTree.h>#include <TSystem.h>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
Functions
-
I3_MODULE(I3VEMCalTreeWriter)¶
- file I3VEMCalTreeWriter.h
- #include <icetray/I3ConditionalModule.h>#include <vemcal/I3VEMCalData.h>#include <string>
Copyright (C) 2008 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
- file plot.cxx
- #include <iostream>#include <vector>#include <map>#include <string>#include <sstream>#include <iomanip>#include <TFile.h>#include <TCanvas.h>#include <TH1F.h>#include <TH2F.h>#include <TF1.h>#include <TProfile.h>#include <TLegend.h>#include <TText.h>#include <TPaveText.h>#include <TPaveStats.h>#include <TLine.h>#include <TStyle.h>#include <TROOT.h>#include <TKey.h>#include <TSystem.h>#include <TClass.h>
- file VEMCalAnalyzer.cxx
- #include <vemcal/VEMCalAnalyzer.h>#include <TFile.h>#include <TClass.h>#include <TKey.h>#include <TH1F.h>#include <TH2F.h>#include <TF1.h>#include <TMath.h>#include <TLine.h>#include <TArrow.h>#include <TText.h>#include <TPaveText.h>#include <TROOT.h>#include <iostream>#include <ostream>#include <fstream>#include <cstring>#include <algorithm>
Copyright (C) 2009 The IceCube collaboration ID:
- Rcs
Removed I3Db dependency —S. Tilav 24/Sep/2019
- Version
- Rcs
- Date
- Rcs
- Author
tilo
- file VEMCalAnalyzer.h
- #include <icetray/OMKey.h>#include <dataclasses/I3Time.h>#include <vector>#include <string>#include <utility>
Copyright (C) 2009 The IceCube collaboration ID:
- Rcs
- Version
- Rcs
- Date
- Rcs
- Author
tilo
- dir analyze
- dir icetray
- dir plot
- dir private
- dir public
- dir vemcal
- dir vemcal
- dir vemcal