ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
Protected Member Functions | List of all members
RandomSample::AtChargeWeighted Class Reference

Sample AtHits according to charge. More...

#include <AtChargeWeighted.h>

Inheritance diagram for RandomSample::AtChargeWeighted:
Inheritance graph
[legend]
Collaboration diagram for RandomSample::AtChargeWeighted:
Collaboration graph
[legend]

Protected Member Functions

virtual std::vector< double > PDF (const AtHit &hit) override
 
- Protected Member Functions inherited from RandomSample::AtSample
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)
 

Additional Inherited Members

- Public Member Functions inherited from RandomSample::AtIndependentSample
virtual ~AtIndependentSample ()=default
 
virtual void SetHitsToSample (const std::vector< const AtHit * > &hits) override
 
- Public Member Functions inherited from RandomSample::AtSample
virtual ~AtSample ()=default
 
virtual std::vector< AtHitSampleHits (int N)
 Sample hits (AtHit) from fHits. More...
 
std::vector< ROOT::Math::XYZPointSamplePoints (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 Types inherited from RandomSample::AtSample
using HitPtr = std::unique_ptr< AtHit >
 
- Static Protected Member Functions inherited from RandomSample::AtSample
template<typename T >
static bool isInVector (T val, std::vector< T > vec)
 
- Protected Attributes inherited from RandomSample::AtSample
const std::vector< const AtHit * > * fHits
 
std::vector< double > fCDF
 
bool fWithReplacement {false}
 

Detailed Description

Sample AtHits according to charge.

Follows the PDF: P(q) = q/TotalCharge

Definition at line 17 of file AtChargeWeighted.h.

Member Function Documentation

◆ PDF()

std::vector< double > AtChargeWeighted::PDF ( const AtHit hit)
overrideprotectedvirtual

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)};

Returns
vector where each element is a different maginal pdf

Implements RandomSample::AtIndependentSample.

Definition at line 7 of file AtChargeWeighted.cxx.


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