Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

StatisticalFluctuations Class Reference

#include <StatisticalFluctuations.h>

List of all members.

Public Member Functions

 StatisticalFluctuations (const VldContext &vldc)
virtual ~StatisticalFluctuations ()
void Fill (const AlignmentStrip &astrip)
void Reset (const VldContext &vldc, const int ntracks)
unsigned int GetNSubsets () const
map< unsigned int, map< PlexStripEndId,
SubsetSummary > > 
GetStripResidualSample () const
map< unsigned int, map< PlexScintMdlId,
SubsetSummary > > 
GetModuleResidualSample () const
map< unsigned int, map< PlexStripEndId,
SubsetSummary > > 
GetStripChargeSample () const
map< unsigned int, VldContextGetSubsetValidity () const
map< unsigned int, int > GetSubsetNRecords () const

Private Member Functions

void FillStripSubsetStat (map< PlexStripEndId, SubsetStat > &set, const PlexStripEndId &plexseid, const double &value)
void FillModuleSubsetStat (map< PlexScintMdlId, SubsetStat > &set, const PlexScintMdlId &plexmdlid, const double &value)

Private Attributes

map< PlexStripEndId, SubsetStatfmStripResidualCurrentSubset
map< unsigned int, map< PlexStripEndId,
SubsetSummary > > 
fmStripResidualSample
map< PlexStripEndId, SubsetStatfmStripChargeCurrentSubset
map< unsigned int, map< PlexStripEndId,
SubsetSummary > > 
fmStripChargeSample
map< PlexScintMdlId, SubsetStatfmMdlResidualCurrentSubset
map< unsigned int, map< PlexScintMdlId,
SubsetSummary > > 
fmMdlResidualSample
map< unsigned int, VldContextfmValidity
map< unsigned int, int > fmNRecords
unsigned int fNumberOfSubsets


Constructor & Destructor Documentation

StatisticalFluctuations::StatisticalFluctuations const VldContext vldc  ) 
 

Definition at line 29 of file StatisticalFluctuations.cxx.

References fmValidity, and fNumberOfSubsets.

00030    :fNumberOfSubsets(0)
00031 {
00032    pair<unsigned int, VldContext> p_vld(fNumberOfSubsets, vldc);
00033    fmValidity.insert(p_vld);
00034 }

StatisticalFluctuations::~StatisticalFluctuations  )  [virtual]
 

Definition at line 200 of file StatisticalFluctuations.cxx.

00201 {
00202 }


Member Function Documentation

void StatisticalFluctuations::Fill const AlignmentStrip astrip  ) 
 

Definition at line 37 of file StatisticalFluctuations.cxx.

References AlignmentStrip::charge, FillModuleSubsetStat(), FillStripSubsetStat(), fmMdlResidualCurrentSubset, fmStripChargeCurrentSubset, fmStripResidualCurrentSubset, AlignmentStrip::plexseid, and AlignmentStrip::residual.

Referenced by AlignmentAlgorithm::Fill().

00038 {
00039    PlexStripEndId plexseid(astrip.plexseid);      
00040    PlexScintMdlId plexmdlid = plexseid.GetScintMdlId();      
00041    
00042    //fill strip residual sample
00043    FillStripSubsetStat(fmStripResidualCurrentSubset, plexseid, astrip.residual);
00044    
00045    //fill strip charge sample
00046    FillStripSubsetStat(fmStripChargeCurrentSubset, plexseid, astrip.charge);
00047    
00048    //fill module residual sample
00049    FillModuleSubsetStat(fmMdlResidualCurrentSubset, plexmdlid, astrip.residual);
00050 }

void StatisticalFluctuations::FillModuleSubsetStat map< PlexScintMdlId, SubsetStat > &  set,
const PlexScintMdlId plexmdlid,
const double &  value
[private]
 

Definition at line 178 of file StatisticalFluctuations.cxx.

References SubsetStat::Fill().

Referenced by Fill().

00181 {
00182    map<PlexScintMdlId, SubsetStat>::iterator fit = set.find(plexmdlid);
00183    
00184    //create and insert SubsetStat object if it does not exist
00185    //otherwise fill with strip residual
00186    if(fit == set.end())
00187    {
00188       SubsetStat stat;
00189       stat.Fill(value);
00190       pair<PlexScintMdlId, SubsetStat> p(plexmdlid, stat);
00191       set.insert(p);
00192    }
00193    else
00194    {
00195       (fit -> second).Fill(value);
00196    }   
00197 }

void StatisticalFluctuations::FillStripSubsetStat map< PlexStripEndId, SubsetStat > &  set,
const PlexStripEndId plexseid,
const double &  value
[private]
 

Definition at line 156 of file StatisticalFluctuations.cxx.

References SubsetStat::Fill().

Referenced by Fill().

00159 {
00160    map<PlexStripEndId, SubsetStat>::iterator fit = set.find(plexseid);
00161    
00162    //create and insert SubsetStat object if it does not exist
00163    //otherwise fill with strip residual
00164    if(fit == set.end())
00165    {
00166       SubsetStat stat;
00167       stat.Fill(value);
00168       pair<PlexStripEndId, SubsetStat> p(plexseid, stat);
00169       set.insert(p);
00170    }
00171    else
00172    {
00173       (fit -> second).Fill(value);
00174    }   
00175 }

map<unsigned int, map<PlexScintMdlId, SubsetSummary> > StatisticalFluctuations::GetModuleResidualSample  )  const [inline]
 

Definition at line 52 of file StatisticalFluctuations.h.

Referenced by AlignmentAlgorithm::AnalyzeModuleResiduals().

00053    {   return fmMdlResidualSample;}

unsigned int StatisticalFluctuations::GetNSubsets  )  const [inline]
 

Definition at line 47 of file StatisticalFluctuations.h.

Referenced by AlignmentAlgorithm::AnalyzeModuleResiduals(), and AlignmentAlgorithm::AnalyzeStripData().

00047 {return fNumberOfSubsets;};

map<unsigned int, map<PlexStripEndId, SubsetSummary> > StatisticalFluctuations::GetStripChargeSample  )  const [inline]
 

Definition at line 55 of file StatisticalFluctuations.h.

Referenced by AlignmentAlgorithm::AnalyzeStripData().

00056    {   return fmStripChargeSample;}

map<unsigned int, map<PlexStripEndId, SubsetSummary> > StatisticalFluctuations::GetStripResidualSample  )  const [inline]
 

Definition at line 49 of file StatisticalFluctuations.h.

Referenced by AlignmentAlgorithm::AnalyzeStripData().

00050    {   return fmStripResidualSample;}

map<unsigned int, int> StatisticalFluctuations::GetSubsetNRecords  )  const [inline]
 

Definition at line 61 of file StatisticalFluctuations.h.

Referenced by AlignmentAlgorithm::AnalyzeStripData().

00062    {   return fmNRecords;}

map<unsigned int, VldContext> StatisticalFluctuations::GetSubsetValidity  )  const [inline]
 

Definition at line 58 of file StatisticalFluctuations.h.

Referenced by AlignmentAlgorithm::AnalyzeStripData().

00059    {   return fmValidity;}

void StatisticalFluctuations::Reset const VldContext vldc,
const int  ntracks
 

Definition at line 53 of file StatisticalFluctuations.cxx.

References fmMdlResidualCurrentSubset, fmMdlResidualSample, fmNRecords, fmStripChargeCurrentSubset, fmStripChargeSample, fmStripResidualCurrentSubset, fmStripResidualSample, fmValidity, fNumberOfSubsets, SubsetStat::GetMean(), SubsetStat::GetSigma(), SubsetStat::GetSize(), SubsetStat::GetSum(), SubsetSummary::mean, SubsetSummary::sigma, SubsetSummary::size, and SubsetSummary::sum.

00054 {
00055    fNumberOfSubsets++;
00056 
00057    //Get mean, sigm and size for current strip residual subset
00058    map<PlexStripEndId, SubsetSummary> StripResSummary;
00059    for(map<PlexStripEndId, SubsetStat>::const_iterator sit = fmStripResidualCurrentSubset.begin();
00060        sit != fmStripResidualCurrentSubset.end(); ++sit)
00061    {
00062       const SubsetStat stat = sit -> second;
00063 
00064       //create and fill stat summary struct  
00065       SubsetSummary summary;
00066       summary.mean  = stat.GetMean();
00067       summary.sigma = stat.GetSigma();
00068       summary.sum   = stat.GetSum();
00069       summary.size  = stat.GetSize();
00070       
00071       pair<PlexStripEndId, SubsetSummary> p(sit->first, summary);
00072       StripResSummary.insert(p);
00073    }
00074 
00075    map<unsigned int, map<PlexStripEndId, SubsetSummary> >::const_iterator fsit =
00076       fmStripResidualSample.find(fNumberOfSubsets);
00077    if(fsit != fmStripResidualSample.end())
00078       abort();
00079    else
00080    {
00081       pair<unsigned int, map<PlexStripEndId, SubsetSummary> > p(fNumberOfSubsets, StripResSummary);
00082       fmStripResidualSample.insert(p);
00083    }
00084 
00085    //Get mean, sigm and size for current strip charge subset
00086    map<PlexStripEndId, SubsetSummary> StripChargeSummary;
00087    for(map<PlexStripEndId, SubsetStat>::const_iterator sit = fmStripChargeCurrentSubset.begin();
00088        sit != fmStripChargeCurrentSubset.end(); ++sit)
00089    {
00090       const SubsetStat stat = sit -> second;
00091 
00092       //create and fill stat summary struct      
00093       SubsetSummary summary;
00094       summary.mean  = stat.GetMean();
00095       summary.sigma = stat.GetSigma();
00096       summary.sum   = stat.GetSum();
00097       summary.size  = stat.GetSize();
00098       
00099       pair<PlexStripEndId, SubsetSummary> p(sit->first, summary);
00100       StripChargeSummary.insert(p);
00101    }
00102 
00103 
00104    fsit = fmStripChargeSample.find(fNumberOfSubsets);
00105    if(fsit != fmStripChargeSample.end())
00106       abort();
00107    else
00108    {
00109       pair<unsigned int, map<PlexStripEndId, SubsetSummary> > p(fNumberOfSubsets, StripChargeSummary);
00110       fmStripChargeSample.insert(p);
00111    }
00112 
00113    //Get mean, sigm and size for current module residual subset
00114    map<PlexScintMdlId, SubsetSummary> MdlResSummary;
00115    for(map<PlexScintMdlId, SubsetStat>::const_iterator mit = fmMdlResidualCurrentSubset.begin();
00116        mit != fmMdlResidualCurrentSubset.end(); ++mit)
00117    {
00118       const SubsetStat stat = mit -> second;
00119       
00120       //create and fill stat summary struct  
00121       SubsetSummary summary;
00122       summary.mean  = stat.GetMean();
00123       summary.sigma = stat.GetSigma();
00124       summary.sum   = stat.GetSum();
00125       summary.size  = stat.GetSize();
00126       
00127       pair<PlexScintMdlId, SubsetSummary> p(mit->first, summary);
00128       MdlResSummary.insert(p);
00129    }
00130 
00131    map<unsigned int, map<PlexScintMdlId, SubsetSummary> >::const_iterator fmit =
00132       fmMdlResidualSample.find(fNumberOfSubsets);
00133    if(fmit != fmMdlResidualSample.end())
00134       abort();
00135    else
00136    {
00137       pair<unsigned int, map<PlexScintMdlId, SubsetSummary> > p(fNumberOfSubsets, MdlResSummary);
00138       fmMdlResidualSample.insert(p);
00139    }
00140    
00141    //insert validity context for time subset was reset
00142    pair<unsigned int, VldContext> p_vld(fNumberOfSubsets, vldc);
00143    fmValidity.insert(p_vld);
00144 
00145    
00146    pair<unsigned int, int> p_record(fNumberOfSubsets, ntracks);
00147    fmNRecords.insert(p_record);
00148 
00149    //clear subset maps
00150    fmStripResidualCurrentSubset.clear();
00151    fmStripChargeCurrentSubset.clear();
00152    fmMdlResidualCurrentSubset.clear();
00153 }


Member Data Documentation

map<PlexScintMdlId, SubsetStat> StatisticalFluctuations::fmMdlResidualCurrentSubset [private]
 

Definition at line 85 of file StatisticalFluctuations.h.

Referenced by Fill(), and Reset().

map<unsigned int, map<PlexScintMdlId, SubsetSummary> > StatisticalFluctuations::fmMdlResidualSample [private]
 

Definition at line 86 of file StatisticalFluctuations.h.

Referenced by Reset().

map<unsigned int, int> StatisticalFluctuations::fmNRecords [private]
 

Definition at line 92 of file StatisticalFluctuations.h.

Referenced by Reset().

map<PlexStripEndId, SubsetStat> StatisticalFluctuations::fmStripChargeCurrentSubset [private]
 

Definition at line 81 of file StatisticalFluctuations.h.

Referenced by Fill(), and Reset().

map<unsigned int, map<PlexStripEndId, SubsetSummary> > StatisticalFluctuations::fmStripChargeSample [private]
 

Definition at line 82 of file StatisticalFluctuations.h.

Referenced by Reset().

map<PlexStripEndId, SubsetStat> StatisticalFluctuations::fmStripResidualCurrentSubset [private]
 

Definition at line 77 of file StatisticalFluctuations.h.

Referenced by Fill(), and Reset().

map<unsigned int, map<PlexStripEndId, SubsetSummary> > StatisticalFluctuations::fmStripResidualSample [private]
 

Definition at line 78 of file StatisticalFluctuations.h.

Referenced by Reset().

map<unsigned int, VldContext> StatisticalFluctuations::fmValidity [private]
 

Definition at line 89 of file StatisticalFluctuations.h.

Referenced by Reset(), and StatisticalFluctuations().

unsigned int StatisticalFluctuations::fNumberOfSubsets [private]
 

Definition at line 94 of file StatisticalFluctuations.h.

Referenced by Reset(), and StatisticalFluctuations().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:10:20 2010 for loon by  doxygen 1.3.9.1