00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00014
00015 #ifndef GUARD_ALIGNMENTRUNSUMMARY_H
00016 #define GUARD_ALIGNMENTRUNSUMMARY_H
00017
00018
00019 #include "SubsetStat.h"
00020
00021
00022 #include "Validity/VldContext.h"
00023
00024
00025 #include <map>
00026 #include <vector>
00027
00028 using std::map;
00029 using std::vector;
00030
00031 class NtpAlignmentRecord;
00032 class TTree;
00033 class TFile;
00034
00035 class AlignmentRunSummary
00036 {
00037
00038 public:
00039
00040 AlignmentRunSummary();
00041
00042 virtual ~AlignmentRunSummary();
00043
00044 void Fill(const NtpAlignmentRecord *ntprec);
00045
00046 TTree* FillSummaryTree(TFile *rootfile);
00047
00048 unsigned int GetNSubRuns() const {return fNumberOfSubRuns;};
00049 int GetCurrentRun() const {return fCurrentRun;};
00050 int GetCurrentSubRun() const {return fCurrentSubRun;};
00051
00052 private:
00053
00054 void FillSummary(const unsigned int n, SubsetStat &stat,
00055 map<unsigned int, SubsetSummary> &summary_map);
00056
00057 double GetSubsetMean(const unsigned int nsubset,
00058 const map<unsigned int, SubsetSummary> &summary) const;
00059
00060 double GetSubsetSigma(const unsigned int nsubset,
00061 const map<unsigned int, SubsetSummary> &summary) const;
00062
00063 unsigned int GetSubsetSize(const unsigned int nsubset,
00064 const map<unsigned int, SubsetSummary> &summary) const;
00065
00066 double GetSubsetSum(const unsigned int nsubset,
00067 const map<unsigned int, SubsetSummary> &summary) const;
00068
00069 SubsetStat fVCandNStrip;
00070 map<unsigned int, SubsetSummary> fVCandNStripSummary;
00071
00072 SubsetStat fUCandNStrip;
00073 map<unsigned int, SubsetSummary> fUCandNStripSummary;
00074
00075 SubsetStat fVCandCharge;
00076 map<unsigned int, SubsetSummary> fVCandChargeSummary;
00077
00078 SubsetStat fUCandCharge;
00079 map<unsigned int, SubsetSummary> fUCandChargeSummary;
00080
00081 SubsetStat fVTrackNStrip;
00082 map<unsigned int, SubsetSummary> fVTrackNStripSummary;
00083
00084 SubsetStat fUTrackNStrip;
00085 map<unsigned int, SubsetSummary> fUTrackNStripSummary;
00086
00087 SubsetStat fVTrackCharge;
00088 map<unsigned int, SubsetSummary> fVTrackChargeSummary;
00089
00090 SubsetStat fUTrackCharge;
00091 map<unsigned int, SubsetSummary> fUTrackChargeSummary;
00092
00093 map<unsigned int, int> fmSubsetRunNumber;
00094 map<unsigned int, int> fmSubsetSubRunNumber;
00095
00096 map<unsigned int, VldContext> fmSubsetVldContext;
00097
00098 unsigned int fNumberOfSubRuns;
00099 int fCurrentRun;
00100 int fCurrentSubRun;
00101 };
00102
00103 #endif //GUARD_ALIGNMENTRUNSUMMARY_H