00001 #include "ISNoiseOccupancySummaryData.h" 00002 #include "ISSummaryManager.h" 00003 #include "ISNoiseOccupancySummaryWriter.h" 00004 #include "Sct/ISUtilities.h" 00005 #include "Sct/SctParameters.h" 00006 00007 #include "SctData/NoiseOccupancyTestResult.h" 00008 00009 #include <TF1.h> 00010 00011 #include <iomanip> 00012 00013 namespace SctData { 00014 namespace ISTestSummary{ 00015 using namespace std; 00016 00017 void ISNoiseOccupancySummaryWriter::write(const TestResult& t) const 00018 { 00019 const NoiseOccupancyTestResult& result = dynamic_cast<const NoiseOccupancyTestResult&>(t); 00020 00021 ISNoiseOccupancySummaryData summary; 00022 00023 writeHeader(result, summary); 00024 00025 summary.offsetByChip_size = Sct::nChipModule; 00026 summary.offsetByChip = new double[Sct::nChipModule]; 00027 00028 summary.occupancyByChip_size = Sct::nChipModule; 00029 summary.occupancyByChip = new double[Sct::nChipModule]; 00030 summary.occupancyRMSByChip_size = Sct::nChipModule; 00031 summary.occupancyRMSByChip = new double[Sct::nChipModule]; 00032 00033 summary.noiseByChip_size = Sct::nChipModule; 00034 summary.noiseByChip = new double[Sct::nChipModule]; 00035 00036 for (unsigned ichip=0; ichip<nChipModule; ++ichip){ 00037 const SctData::ChipNOResult& c = result.getChipResult(ichip); 00038 00039 summary.offsetByChip[ichip] = c.offset; 00040 summary.occupancyByChip[ichip] = c.mean; 00041 summary.occupancyRMSByChip[ichip] = c.rms; 00042 summary.noiseByChip[ichip] = c.getNoise(); 00043 } 00044 00045 string name = "ISSummaryData.ISNoiseOccupancySummaryData."; 00046 name += result.getHeader().getModuleName(); 00047 00048 // cout << " I am about to write the ISSummary " << endl; 00049 // cout << " name " << name <<endl; 00050 00051 Sct::ISUtilities::addOrUpdateOrThrow(name,summary,__FILE__,__LINE__, MRS_WARNING ); 00052 00053 } 00054 00055 00056 bool ISNoiseOccupancySummaryWriter::inMap = ISSummaryManager::instance().addWriter("SctData::NoiseOccupancyTestResult", shared_ptr<ISSummaryWriter>(new ISNoiseOccupancySummaryWriter())); 00057 } 00058 }