Jpp in_tag_pdf_generation
the software that should make you happy
Loading...
Searching...
No Matches
JSUPERNOVA::JCoincidenceSN Class Reference

Auxiliary class to store reduced information of a coincidence on an optical module This class allows storing the observables associated with searches for low-energy neutrinos from Core-Collapse supernovae: More...

#include <JSupernova.hh>

Public Member Functions

void clear ()
 
 JCoincidenceSN (double t, int m, int dom, int vetoIndex=-1, double ctheta=-2, double rnorm=-1, double deltaT=-1, double total_ToT=-1, double timeslice_time=-1, bool fake=false)
 Constructor:
 
bool operator() (const vector< JHitR0 > &hits, const JDetector &det)
 Compute single-DOM observables |R|, cos(theta), total ToT, and Delta(t) and set the corresponding class attributes.
 
int getMultiplicity () const
 
int getModule () const
 
double getTime () const
 
bool operator< (const JCoincidenceSN &rhs) const
 

Public Attributes

double time
 
double timeslice_time
 
int moduleID
 
int vetoIndex
 
int multiplicity
 
double mean_dir_ctheta = -2
 
double mean_dir_norm = -1
 
double deltaT = -1
 
double total_ToT = -1
 
bool fake = false
 

Detailed Description

Auxiliary class to store reduced information of a coincidence on an optical module This class allows storing the observables associated with searches for low-energy neutrinos from Core-Collapse supernovae:

Definition at line 52 of file JSupernova.hh.

Constructor & Destructor Documentation

◆ JCoincidenceSN()

JSUPERNOVA::JCoincidenceSN::JCoincidenceSN ( double t,
int m,
int dom,
int vetoIndex = -1,
double ctheta = -2,
double rnorm = -1,
double deltaT = -1,
double total_ToT = -1,
double timeslice_time = -1,
bool fake = false )
inline

Constructor:

Parameters
tEvent timing within a timeslice
mNumber of hits within 10ns
domID of the module
vetoIndexMuon veto index: 0 if pass all vetoes, 1 if pass only trigger veto, 2 if pass only correlation veto, 3 if fails all vetoes
cthetaMean z position of hit cluster on DOM
rnormHit concentration |R|
deltaTAverage time spread of hit cluster
total_ToTTotal ToT in DOM
timeslice_timeAbsolute time of the timeslice
fakefake

Definition at line 91 of file JSupernova.hh.

Member Function Documentation

◆ clear()

void JSUPERNOVA::JCoincidenceSN::clear ( )
inline

Definition at line 67 of file JSupernova.hh.

67 {
68 this->vetoIndex = 0;
69 this->multiplicity = 0;
70 this->mean_dir_ctheta = -2;
71 this->mean_dir_norm = -1;
72 this->total_ToT = -1;
73 this->deltaT = -1;
74 this->fake = false;
75 }

◆ operator()()

bool JSUPERNOVA::JCoincidenceSN::operator() ( const vector< JHitR0 > & hits,
const JDetector & det )
inline

Compute single-DOM observables |R|, cos(theta), total ToT, and Delta(t) and set the corresponding class attributes.

Parameters
hitsHit vector from timeslice
detSingle-DOM detx file used to simulate CCSN signal

Definition at line 101 of file JSupernova.hh.

101 {
102 if (hits.size() == 0) return 1;
103 JVector3D mean_pmt_dir;
104 double first_hit_time = 0;
105 this->total_ToT = 0;
106 this->multiplicity = 0;
107 this->deltaT = 0;
108 int hitcount=0;
109 for(auto &hit: hits){
110 this->multiplicity++;
111 this->total_ToT += hit.getToT();
112 if (hitcount > 0) {
113 this->deltaT += hit.getT() - first_hit_time;
114 }
115 else first_hit_time = hit.getT();
116 int channel_id = hit.getPMT();
117 JPMTAddress pmt_address(JModuleRouter(det).getAddress(101),channel_id);
118 auto pmt = det.getPMT(pmt_address).getDirection();
119 mean_pmt_dir += pmt.getDirection();
120 hitcount++;
121 }
122 if (this->multiplicity >= 2) {
123 this->mean_dir_norm = mean_pmt_dir.getLength()/this->multiplicity;
124 this->mean_dir_ctheta = mean_pmt_dir.getZ()/this->multiplicity;
125 this->deltaT /= (this->multiplicity-1);
126 }
127 return 0;
128 }
const JPMT & getPMT(const JPMTAddress &address) const
Get PMT parameters.
Definition JDetector.hh:348
Router for direct addressing of module data in detector data structure.
Address of PMT in detector data structure.
const JDirection3D & getDirection() const
Get direction.
Data structure for vector in three dimensions.
Definition JVector3D.hh:36
double getLength() const
Get length.
Definition JVector3D.hh:246
double getZ() const
Get z position.
Definition JVector3D.hh:115

◆ getMultiplicity()

int JSUPERNOVA::JCoincidenceSN::getMultiplicity ( ) const
inline

Definition at line 130 of file JSupernova.hh.

130 {
131 return multiplicity;
132 }

◆ getModule()

int JSUPERNOVA::JCoincidenceSN::getModule ( ) const
inline

Definition at line 134 of file JSupernova.hh.

134 {
135 return moduleID;
136 }

◆ getTime()

double JSUPERNOVA::JCoincidenceSN::getTime ( ) const
inline

Definition at line 138 of file JSupernova.hh.

138 {
139 return time;
140 }

◆ operator<()

bool JSUPERNOVA::JCoincidenceSN::operator< ( const JCoincidenceSN & rhs) const
inline

Definition at line 142 of file JSupernova.hh.

142 {
143 return (time < rhs.time);
144 }

Member Data Documentation

◆ time

double JSUPERNOVA::JCoincidenceSN::time

Definition at line 55 of file JSupernova.hh.

◆ timeslice_time

double JSUPERNOVA::JCoincidenceSN::timeslice_time

Definition at line 56 of file JSupernova.hh.

◆ moduleID

int JSUPERNOVA::JCoincidenceSN::moduleID

Definition at line 57 of file JSupernova.hh.

◆ vetoIndex

int JSUPERNOVA::JCoincidenceSN::vetoIndex

Definition at line 58 of file JSupernova.hh.

◆ multiplicity

int JSUPERNOVA::JCoincidenceSN::multiplicity

Definition at line 60 of file JSupernova.hh.

◆ mean_dir_ctheta

double JSUPERNOVA::JCoincidenceSN::mean_dir_ctheta = -2

Definition at line 61 of file JSupernova.hh.

◆ mean_dir_norm

double JSUPERNOVA::JCoincidenceSN::mean_dir_norm = -1

Definition at line 62 of file JSupernova.hh.

◆ deltaT

double JSUPERNOVA::JCoincidenceSN::deltaT = -1

Definition at line 63 of file JSupernova.hh.

◆ total_ToT

double JSUPERNOVA::JCoincidenceSN::total_ToT = -1

Definition at line 64 of file JSupernova.hh.

◆ fake

bool JSUPERNOVA::JCoincidenceSN::fake = false

Definition at line 65 of file JSupernova.hh.


The documentation for this class was generated from the following file: