9 #ifndef TRUTHANITAEVENT_H 10 #define TRUTHANITAEVENT_H 18 #include "AnitaConventions.h" 76 Double_t
fTimes[NUM_DIGITZED_CHANNELS][NUM_SAMP];
90 Int_t canary_09f91102;
105 double nuE()
const {
return pow(10,log10_nuMom); }
106 double showerE()
const {
return nuE() * (hadFrac() + emFrac()); }
107 TVector3 nuDir()
const {
return TVector3(_nuDir); }
108 TVector3 nuPos()
const {
return haveNu() ? TVector3(nupos_R_km*1e3 * cos(nupos_phi) * cos(nupos_theta),
109 nupos_R_km*1e3 * sin(nupos_phi) * cos(nupos_theta),
110 nupos_R_km*1e3*sin(nupos_theta)) : TVector3(0,0,0); }
112 TVector3 anitaPos()
const {
return TVector3(anita_R_km*1e3 * cos(anita_phi) * cos(anita_theta),
113 anita_R_km*1e3 * sin(anita_phi) * cos(anita_theta),
114 anita_R_km*1e3*sin(anita_theta)); }
116 bool weightWasSet()
const {
return have_weight; }
117 double weight()
const {
return !have_weight ? 0 : pow(10,log10_weight); }
118 double phaseSpaceWeight()
const {
return !have_weight ? 0 : pow(10,log10_phase_weight); }
119 double timeWeight()
const {
return !have_weight ? 0 : pow(10,log10_time_weight); }
122 bool fracWasSet()
const {
return have_frac; }
123 double hadFrac()
const {
return !have_frac ? 0 : _had_frac; }
124 double emFrac()
const {
return !have_frac ? 0 : _em_frac; }
125 int nuPdg()
const {
return haveNu() ? _nu_pdg : -1; }
127 void setSkipped(
bool skip,
bool zero_frac =
true,
bool zero_weights =
true,
bool zero_dir =
true) {
134 log10_phase_weight =0;
135 log10_time_weight =0;
151 bool isSkipped()
const {
return skipped; }
154 void setWeights(
double weight =1e-100,
double phase_space_weight = 1e-4,
double time_weight = 1e-10)
156 log10_weight = log10(weight);
157 log10_phase_weight=log10(phase_space_weight);
158 log10_time_weight=log10(time_weight);
162 void setPos(
double x,
double y,
double z,
163 double bx,
double by,
double bz,
167 nupos_R_km = v.Mag()/1e3;
168 nupos_theta = v.Theta();
171 setBalloon(bx,by,bz,t);
181 void setDir(
double dx,
double dy,
double dz)
183 double maginv = pow(dx*dx+dy*dy+dz*dz,-0.5);
184 _nuDir[0] = dx*maginv;
185 _nuDir[1] = dy*maginv;
186 _nuDir[2] = dz*maginv;
190 void setFrac(
double had_frac ,
double em_frac)
193 _had_frac = had_frac;
198 void setNu(
double nuE,
double nupdg)
200 log10_nuMom = log10(nuE);
206 void setNoNu(
double bx,
double by,
double bz,
int t)
209 setBalloon(bx,by,bz,t);
220 bool haveDir()
const {
return have_dir; }
221 bool haveFrac()
const {
return have_frac; }
222 bool haveWeight()
const {
return have_weight; }
223 bool haveNu()
const {
return have_nu; }
230 tinfo.tm_hour = hour;
232 tinfo.tm_year = year + 100;
234 return mktime(&tinfo);
238 Double32_t log10_nuMom;
239 Double32_t _nuDir[3];
240 Double32_t nupos_R_km;
241 Double32_t nupos_theta;
242 Double32_t nupos_phi;
243 Double32_t anita_R_km;
244 Double32_t anita_theta;
245 Double32_t anita_phi;
246 Double32_t log10_weight;
247 Double32_t log10_phase_weight;
248 Double32_t _had_frac;
250 Double32_t log10_time_weight;
252 void setBalloon(
double bx,
double by,
double bz,
int t)
254 TVector3 b(bx,by,bz);
255 anita_R_km = b.Mag()/1e3;
256 anita_theta = b.Theta();
260 struct tm * T = gmtime(&tmp_t);
261 year = T->tm_year-100;
284 #endif //TRUTHANITAEVENT_H Double_t h_component_k[48]
Component of the e-field along the rx h-plane.
Double_t rfExitPos[5][3]
Position where the RF exits the ice- 5 iterations, 3 dimensions each.
Double_t payloadPhi
Phi of signal in payload coordinates (degrees)
Double_t projectedArea
If in unbiased mode, the appropriate sampling area for this interaction.
Double_t weight
Weight assigned by icemc.
Int_t nu_pdg
Neutrino PDG code.
Double_t sourceLat
RF position when leaving the ice: Latitude (using icemc model)
Double_t showerE
Shower energy.
Double_t timeWeight
Relative Time weight assigned by icemc.
Double_t n_component_k[48]
Component of the e-field along the normal.
Int_t source_index
Name of the source.
Int_t canary_deadbeef
this shoudl always equal 0xdeadbeef
Double_t sourceLon
RF position when leaving the ice: Longitude (using icemc model)
Double_t sourceAlt
RF position when leaving the ice: Altitude (using icemc model)
Double_t fSignalAtDigitizer[12 *9][260]
Array of signal at digitizer.
Double_t sourceTimeWeight
Relative Time weight for the given source assigned by icemc.
Double_t n_component[48]
Normal comp along polarization.
TruthAnitaEvent()
Default constructor.
Double_t balloonPos[3]
Balloon position.
Int_t canary_c0fefe
this shoudl always equal 0xc0fefe
Double_t vmmhz[128]
V/m/MHz at balloon (128 frequency bins)
Double_t fNoiseAtDigitizer[12 *9][260]
Array of noise at digitizer.
TString objName
Declination of source.
Double_t fNoiseAtTrigger[12 *9][260]
Array of noise at trigger.
Double_t maxSNRAtTriggerV
Max SNR at trigger V-POL.
Short_t tuffIndex
TUFF configuration index.
Double_t dec
Right ascension of source.
Double_t h_component[48]
H comp along polarization.
UInt_t realTime
unixTime of readout
Double_t rfExitNor[5][3]
Normal vector in direction of exit point to balloon - 5 iterations.
Double_t hitangle_h[48]
Hit angles rel. to h plane stored for each antenna.
TruthAnitaEvent – The Truth ANITA Event.
Double_t e_component[48]
E comp along polarization.
Double_t weight1
Absorption weight assigned by icemc.
Double_t weight_prob
weight including probability of interacting!
~TruthAnitaEvent()
Destructor.
Double_t nuDir[3]
Neutrino direction.
Double_t e_component_k[48]
Component of e-field along the rx e-plane.
Double_t maxSNRAtDigitizerV
Max SNR at digitizer V-POL.
Double_t nuMom
Neutrino momentum.
Double_t vmmhz_max
Maximum signal at balloon (V/m/MHz)
Double_t payloadTheta
Theta of signal in payload coordinates (degrees)
Double_t SNRAtTrigger[12 *9]
Array of SNR at trigger.
Double_t SNRAtDigitizer[12 *9]
Array of SNR at digitizer.
Double_t maxSNRAtTriggerH
Max SNR at trigger H-POL.
Double_t thresholds[12 *9]
Channel thresholds used in icemc.
Double_t fSignalAtTrigger[12 *9][260]
Array of signal at trigger.
UInt_t eventNumber
Software event number.
Double_t nuPos[3]
Neutrino position.
Double_t hitangle_e[48]
Hit angles rel. to e plane stored for each antenna.
Double_t fTimes[12 *9][260]
Array of unwrapped (unless kNoCalib) times for each channel.
Double_t maxSNRAtDigitizerH
Max SNR at digitizer H-POL.
Double_t phaseWeight
Phase weight assigned by icemc.
Double_t fDiodeOutput[12 *9][260]
Array of tunnel diode output.
Double_t balloonDir[3]
Balloon direction.