ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
Sample AtHits according to charge for Y shaped tracks. More...
#include <AtY.h>
Public Member Functions | |
virtual std::vector< AtHit > | SampleHits (int N) override |
Sample hits (AtHit) from fHits. More... | |
virtual void | SetHitsToSample (const std::vector< const AtHit * > &hits) override |
virtual std::vector< double > | PDF (const AtHit &hit) override |
![]() | |
virtual | ~AtIndependentSample ()=default |
![]() | |
virtual | ~AtSample ()=default |
std::vector< ROOT::Math::XYZPoint > | SamplePoints (int N) |
Sample spacial locations (XYZPoints) from fHits. More... | |
void | SetHitsToSample (const std::vector< HitPtr > &hits) |
void | SetHitsToSample (const std::vector< AtHit > &hits) |
void | SetSampleWithReplacement (bool val) |
Protected Attributes | |
std::vector< int > | fNotBeam |
std::vector< int > | fBeam |
double | fBeamRadius {40} |
![]() | |
const std::vector< const AtHit * > * | fHits |
std::vector< double > | fCDF |
bool | fWithReplacement {false} |
Additional Inherited Members | |
![]() | |
using | HitPtr = std::unique_ptr< AtHit > |
![]() | |
void | FillCDF () |
std::vector< int > | sampleIndicesFromCDF (int N, std::vector< int > vetoed={}) |
int | getIndexFromCDF (double r, double rmCFD, std::vector< int > vetoed) |
Get the index i where CDF[i] >= r and CDF[i-1] < r. More... | |
double | getPDFfromCDF (int index) |
![]() | |
template<typename T > | |
static bool | isInVector (T val, std::vector< T > vec) |
Sample AtHits according to charge for Y shaped tracks.
Two points sampled from the beam region and two outside the beam region. Points outside the beam region have to be closer to the pad plane than the points sampled in the beam region
|
inlineoverridevirtual |
Computes the unnormalized marginal PDFs at the hit.
For example, a charge-weighted and spacial gaussian would looke like return {charge, gaussian_pdf(distance, sigma)};
Implements RandomSample::AtIndependentSample.
|
overridevirtual |
Sample hits (AtHit) from fHits.
Assumes fCDF is already setup and we are just using it.
Reimplemented from RandomSample::AtSample.
|
overridevirtual |
Reimplemented from RandomSample::AtIndependentSample.