#include <PulserFromRawSummaryList.h>
|
|
Definition at line 36 of file PulserFromRawSummaryList.cxx. References MSG. 00036 : 00037 TNamed("PulserFromRawSummaryList","PulserFromRawSummaryList") 00038 { 00039 MSG("Pulser",Msg::kVerbose) <<" PulserFromRawSummaryList ctor \n"; 00040 fLowPin = new PulserSummary(); 00041 fHighPin = new PulserSummary(); 00042 fTriggers=0; 00043 fUsePlex = false; 00044 }
|
|
|
Definition at line 46 of file PulserFromRawSummaryList.cxx. References MSG. 00047 {
00048 MSG("Pulser",Msg::kVerbose) <<" PulserFromRawSummaryList dtor \n";
00049 delete fLowPin;
00050 delete fHighPin;
00051 }
|
|
||||||||||||
|
||||||||||||
|
Definition at line 86 of file PulserFromRawSummaryList.cxx. References PulserSummary::AddDigit(), PlexStripEndId::BuildPlnStripEndKey(), fAggregateNo, fExpectedPoints, fFarMap, fHeight, fHighPin, fLed, fLowPin, fNearMap, fPointIndex, fPulserBox, fTriggers, fWidth, PulserFromRawLiBlock::GetCalibPoint(), PulserFromRawLiBlock::GetCalibType(), PulserNearDigit::GetChannel(), RawDigit::GetChannel(), RawDigitDataBlock::GetDatumIter(), RawChannelId::GetElecType(), RawChannelId::GetEncoded(), PulserFromRawLiBlock::GetLed(), PlexHandle::GetLedId(), RawDigitDataBlock::GetNumberOfDigits(), PlexStripEndId::GetOppositeSEId(), PlexHandle::GetPinDiodeId(), PlexHandle::GetPinDiodeIds(), PulserFromRawLiBlock::GetPulseHeight(), PulserFromRawLiBlock::GetPulserBox(), PulserFromRawLiBlock::GetPulseWidth(), PlexHandle::GetReadoutType(), PlexHandle::GetSEIdAltL(), PulserFromRawLiBlock::GetVldContext(), MSG, and uIntNearMap. Referenced by PulserFromRawSummaryList(), and PulserFromRawModule::Reco(). 00088 {
00089 // If we get here, we should be adding the same kinds of pulse
00090 // but just in case...
00091 MSG("Pulser",Msg::kVerbose) <<"LED "<<fLed<<" "<<rawsum.GetLed()<<endl;
00092 MSG("Pulser",Msg::kVerbose) <<"H "<<fHeight<<" "<<rawsum.GetPulseHeight()<<endl;
00093 MSG("Pulser",Msg::kVerbose) <<"W "<<fWidth<<" "<<rawsum.GetPulseWidth()<<endl;
00094
00095 assert(fLed==rawsum.GetLed());
00096 assert(fPulserBox==rawsum.GetPulserBox());
00097 assert(fHeight==rawsum.GetPulseHeight());
00098 assert(fWidth==rawsum.GetPulseWidth());
00099 assert(fPointIndex==rawsum.GetCalibPoint());
00100 assert(fExpectedPoints==rawsum.GetCalibType());
00101
00102 //Get validity context
00103 VldContext vldc(rawsum.GetVldContext());
00104 PlexHandle plex(vldc);
00105
00106 int numTriggers=0;
00107 std::pair<PlexPinDiodeId,PlexPinDiodeId> myPins =
00108 plex.GetPinDiodeIds(fAggregateNo); // hi, low
00109 MSG("Pulser",Msg::kVerbose)<< "We have "
00110 << rawddb.GetNumberOfDigits()
00111 << " digits"<<endl;
00112 TIter rawit = rawddb.GetDatumIter();
00113
00114 uIntNearMap tempNearMap;
00115 uIntNearMap::iterator tempNearIter;
00116 while (RawDigit *rd = (RawDigit *) rawit()) {
00117
00118 RawChannelId rcid = rd->GetChannel();
00119 ReadoutType::Readout_t rt = plex.GetReadoutType(rcid);
00120 switch (rcid.GetElecType()) {
00121 case (ElecType::kQIE):
00122 if(tempNearMap.find(rcid.GetEncoded())==
00123 tempNearMap.end()) {
00124 tempNearMap[rcid.GetEncoded()].New(*rd);
00125 }
00126 else {
00127 tempNearIter=tempNearMap.find(rcid.GetEncoded());
00128 tempNearIter->second.Add(*rd);
00129 }
00130 break;
00131 case (ElecType::kVA):
00132 if (rt & ReadoutType::kScintStrip) {
00133 MSG("Pulser",Msg::kVerbose)
00134 << "Got LI in strip at "<< rcid<<endl;
00135
00136 // Find out which strip-end we are. At CalDet, this is
00137 // a bit pointless, but...
00138 PlexSEIdAltL altlist = plex.GetSEIdAltL(rcid);
00139 for (PlexSEIdAltL::iterator it = altlist.begin();
00140 it!=altlist.end(); it++) {
00141 PlexStripEndId seid = (*it).GetSEId();
00142 if (plex.GetLedId(seid) == fAggregateNo) {
00143 MSG("Pulser",Msg::kVerbose) << "Got LI in strip "
00144 << seid << endl;
00145
00146 fNearMap[seid.BuildPlnStripEndKey()].AddDigit(*rd,seid);
00147 }
00148 else if (plex.GetLedId(seid.GetOppositeSEId())==
00149 fAggregateNo) {
00150 MSG("Pulser",Msg::kVerbose) << "Got LI in strip "
00151 << seid << endl;
00152
00153 fFarMap[seid.BuildPlnStripEndKey()].AddDigit(*rd,seid);
00154 }
00155 else {
00156 // Crosstalk or such
00157 // MSG("Pulser",Msg::kVerbose) << "Xtalk "<<rcid<<endl;
00158 }
00159 }
00160 }
00161 else if (rt & ReadoutType::kPinDiode) {
00162 MSG("Pulser",Msg::kVerbose) << "Got LI in PIN at "
00163 << rd->GetChannel()<< endl;
00164
00165 PlexPinDiodeId pinid = plex.GetPinDiodeId(rcid);
00166 if (pinid==myPins.first) {
00167 //High gain PIN
00168 fHighPin->AddDigit(*rd,pinid);
00169 }
00170 else if (pinid==myPins.second) {
00171 //Low Gain PIN
00172 fLowPin->AddDigit(*rd,pinid);
00173 }
00174 // Else not this LED's PIN
00175 }
00176 else if (rt & ReadoutType::kFlashTrigPMT) {
00177 MSG("Pulser",Msg::kVerbose)
00178 << "Got LI in trigger at "<<rd->GetChannel()<<endl;
00179 numTriggers++;
00180 }
00181
00182 break;
00183 default:
00184 break;
00185 }
00186
00187 }
00188 for(tempNearIter = tempNearMap.begin();
00189 tempNearIter != tempNearMap.end(); ++tempNearIter) {
00190
00191 PulserNearDigit nd = tempNearIter->second;
00192 RawChannelId rcid = nd.GetChannel();
00193
00194 ReadoutType::Readout_t rt2 = plex.GetReadoutType(rcid);
00195 if (rt2 & ReadoutType::kScintStrip) {
00196 MSG("Pulser",Msg::kVerbose)
00197 << "Got LI in strip at "<< rcid<<endl;
00198
00199 // Find out which strip-end we are. At CalDet, this is
00200 // a bit pointless, but...
00201 PlexSEIdAltL altlist = plex.GetSEIdAltL(rcid);
00202 for (PlexSEIdAltL::iterator it = altlist.begin();
00203 it!=altlist.end(); it++) {
00204 PlexStripEndId seid = (*it).GetSEId();
00205 if (plex.GetLedId(seid) == fAggregateNo) {
00206 MSG("Pulser",Msg::kVerbose) << "Got LI in strip "
00207 << seid << endl;
00208
00209 fNearMap[seid.BuildPlnStripEndKey()].AddDigit(nd,seid);
00210 }
00211 else if (plex.GetLedId(seid.GetOppositeSEId())==
00212 fAggregateNo) {
00213 MSG("Pulser",Msg::kVerbose) << "Got LI in strip "
00214 << seid << endl;
00215
00216 fFarMap[seid.BuildPlnStripEndKey()].AddDigit(nd,seid);
00217 }
00218 else {
00219 // Crosstalk or such
00220 // MSG("Pulser",Msg::kVerbose) << "Xtalk "<<rcid<<endl;
00221 }
00222 }
00223 }
00224
00225 }
00226
00227 fTriggers +=numTriggers;
00228 MSG("Pulser",Msg::kDebug) << "Trig PMT: "<<numTriggers<<" of "<<fTriggers<<" triggers\n";
00229
00230 }
|
|
|
Definition at line 232 of file PulserFromRawSummaryList.cxx. References fFarMap, fHighPin, PulserSummary::Finish(), fLowPin, fNearMap, and fTriggers. Referenced by PulserFromRawModule::FinishList(). 00233 {
00234 // Do zero correction here.
00235 for (std::map<Int_t,PulserSummary>::iterator it = fNearMap.begin();
00236 it!=fNearMap.end(); it++) (*it).second.Finish(fTriggers);
00237 for (std::map<Int_t,PulserSummary>::iterator it = fFarMap.begin();
00238 it!=fFarMap.end(); it++) (*it).second.Finish(fTriggers);
00239 fLowPin->Finish(fTriggers);
00240 fHighPin->Finish(fTriggers);
00241 }
|
|
|
Definition at line 51 of file PulserFromRawSummaryList.h. References fAggregateNo, and PlexLedId::GetEncoded(). Referenced by PulserFromRawCollectorModule::Reco(), PulserFromRawCollectorModule::ReferencePointReco(), PulserFromRawCollectorModule::WriteRawCurveData(), PulserFromRawCollectorModule::WriteRawDriftData(), and PulserFromRawCollectorModule::WriteReferenceDriftData(). 00051 {return 0x7ff & fAggregateNo.GetEncoded();}
|
|
|
Definition at line 58 of file PulserFromRawSummaryList.h. References fNearMap. 00058 {return fNearMap.begin();}
|
|
|
Definition at line 59 of file PulserFromRawSummaryList.h. References fNearMap. 00059 {return fNearMap.end();}
|
|
|
Definition at line 50 of file PulserFromRawSummaryList.h. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), PulserFromRawModule::FinishList(), LISummaryModule::GetPulserBlocks(), PulserFromRawCollectorModule::Reco(), and PulserFromRawCollectorModule::ReferencePointReco(). 00050 {return fExpectedPoints;}
|
|
|
Definition at line 62 of file PulserFromRawSummaryList.h. References fFarMap. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), PulserFromRawCollectorModule::Reco(), and PulserFromRawCollectorModule::ReferencePointReco(). 00062 {return fFarMap.begin();}
|
|
|
Definition at line 63 of file PulserFromRawSummaryList.h. References fFarMap. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), PulserFromRawCollectorModule::Reco(), and PulserFromRawCollectorModule::ReferencePointReco(). 00063 {return fFarMap.end();}
|
|
|
Definition at line 46 of file PulserFromRawSummaryList.h. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), and LISummaryModule::GetPulserBlocks(). 00046 {return fHeight;}
|
|
|
Definition at line 56 of file PulserFromRawSummaryList.h. Referenced by PulserFromRawCollectorModule::Reco(), and PulserFromRawCollectorModule::ReferencePointReco(). 00056 {return *fHighPin;}
|
|
|
Definition at line 53 of file PulserFromRawSummaryList.h. Referenced by PulserFromRawCollectorModule::Reco(). 00053 {return fIdent;} // uid for gaincurve
|
|
|
Definition at line 44 of file PulserFromRawSummaryList.h. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), PulserFromRawModule::FinishList(), LISummaryModule::GetPulserBlocks(), and PulserFromRawModule::Reco(). 00044 {return fLed;}
|
|
|
Definition at line 57 of file PulserFromRawSummaryList.h. Referenced by PulserFromRawCollectorModule::Reco(), and PulserFromRawCollectorModule::ReferencePointReco(). 00057 {return *fLowPin;}
|
|
|
Definition at line 60 of file PulserFromRawSummaryList.h. References fNearMap. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), LISummaryModule::GetPulserBlocks(), PulserFromRawCollectorModule::Reco(), and PulserFromRawCollectorModule::ReferencePointReco(). 00060 {return fNearMap.begin();}
|
|
|
Definition at line 61 of file PulserFromRawSummaryList.h. References fNearMap. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), LISummaryModule::GetPulserBlocks(), PulserFromRawCollectorModule::Reco(), and PulserFromRawCollectorModule::ReferencePointReco(). 00061 {return fNearMap.end();}
|
|
|
Definition at line 48 of file PulserFromRawSummaryList.h. Referenced by LISummaryModule::GetPulserBlocks(). 00048 {return fNumPulses;}
|
|
|
Definition at line 49 of file PulserFromRawSummaryList.h. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), PulserFromRawModule::FinishList(), LISummaryModule::GetPulserBlocks(), PulserFromRawModule::Reco(), PulserFromRawCollectorModule::Reco(), and PulserFromRawCollectorModule::ReferencePointReco(). 00049 {return fPointIndex;}
|
|
|
Definition at line 45 of file PulserFromRawSummaryList.h. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), PulserFromRawModule::FinishList(), and LISummaryModule::GetPulserBlocks(). 00045 {return fPulserBox;}
|
|
|
Definition at line 42 of file PulserFromRawSummaryList.h. 00042 {return fPulseType;}
|
|
|
Definition at line 79 of file PulserFromRawSummaryList.cxx. Referenced by LISummaryModule::GetPulserBlocks(), PulserFromRawCollectorModule::WriteRawCurveData(), PulserFromRawCollectorModule::WriteRawDriftData(), and PulserFromRawCollectorModule::WriteReferenceDriftData(). 00080 {
00081 return fValidity;
00082 }
|
|
|
Definition at line 47 of file PulserFromRawSummaryList.h. Referenced by PEGainModule::DoMeanSigmaFromRawSums(), and LISummaryModule::GetPulserBlocks(). 00047 {return fWidth;}
|
|
|
Definition at line 85 of file PulserFromRawSummaryList.h. Referenced by Add(), GetAggregateNo(), and PulserFromRawSummaryList(). |
|
|
Definition at line 83 of file PulserFromRawSummaryList.h. Referenced by Add(), and PulserFromRawSummaryList(). |
|
|
Definition at line 72 of file PulserFromRawSummaryList.h. Referenced by Add(), Finish(), GetFarBegin(), and GetFarEnd(). |
|
|
Definition at line 80 of file PulserFromRawSummaryList.h. Referenced by Add(), and PulserFromRawSummaryList(). |
|
|
Definition at line 74 of file PulserFromRawSummaryList.h. Referenced by Add(), Finish(), and PulserFromRawSummaryList(). |
|
|
Definition at line 84 of file PulserFromRawSummaryList.h. Referenced by PulserFromRawSummaryList(). |
|
|
Definition at line 77 of file PulserFromRawSummaryList.h. Referenced by Add(), and PulserFromRawSummaryList(). |
|
|
Definition at line 73 of file PulserFromRawSummaryList.h. Referenced by Add(), Finish(), and PulserFromRawSummaryList(). |
|
|
Definition at line 71 of file PulserFromRawSummaryList.h. Referenced by Add(), Finish(), GetBegin(), GetEnd(), GetNearBegin(), and GetNearEnd(). |
|
|
Definition at line 81 of file PulserFromRawSummaryList.h. Referenced by PulserFromRawSummaryList(). |
|
|
Definition at line 82 of file PulserFromRawSummaryList.h. Referenced by Add(), and PulserFromRawSummaryList(). |
|
|
Definition at line 78 of file PulserFromRawSummaryList.h. Referenced by Add(), and PulserFromRawSummaryList(). |
|
|
Definition at line 76 of file PulserFromRawSummaryList.h. |
|
|
Definition at line 75 of file PulserFromRawSummaryList.h. Referenced by Add(), Finish(), and PulserFromRawSummaryList(). |
|
|
Definition at line 88 of file PulserFromRawSummaryList.h. Referenced by PulserFromRawSummaryList(). |
|
|
Definition at line 86 of file PulserFromRawSummaryList.h. Referenced by PulserFromRawSummaryList(). |
|
|
Definition at line 79 of file PulserFromRawSummaryList.h. Referenced by Add(), and PulserFromRawSummaryList(). |
1.3.9.1