HALL A C++/ROOT Parity Analyzer Pan TaADCCalib.cc (implementation) Author: K. Paschke <http://www.jlab.org/~paschke/> @(#)pan/src:$Name: $:$Id: TaADCCalib.cc,v 1.15 2003/02/12 15:59:04 vacheret Exp $ ADC calibration analysis. Depending on constructor argument, this class handles analysis of ADC pedestals or DAC noise pedestals and slopes.
| TaADCCalib() | |
| TaADCCalib(const string& anName) | |
| ~TaADCCalib() | |
| static TClass* | Class() |
| virtual ErrCode_t | VaAnalysis::InitLastPass() |
| virtual TClass* | IsA() const |
| size_t | VaAnalysis::PairsLeft() const |
| virtual void | VaAnalysis::RunFini() |
| virtual ErrCode_t | VaAnalysis::RunIni(TaRun&) |
| virtual ErrCode_t | VaAnalysis::RunReIni(TaRun&) |
| virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
| virtual void | Streamer(TBuffer& b) |
| void | StreamerNVirtual(TBuffer& b) |
| virtual void | VaAnalysis::AutoPairAna() |
| vector<AnaList> | VaAnalysis::ChanList(const string& devtype, const string& channel, const string& other, const UInt_t flags = 0) |
| virtual vector<AnaList> | VaAnalysis::ChanListFromName(const string& chanbase, const string& other, const UInt_t flags = 0) |
| virtual void | VaAnalysis::ComputeData(EFeedbackType fdbk, UInt_t timescale, Int_t devicekey) |
| virtual void | VaAnalysis::ComputeLastData(EFeedbackType fdbk, UInt_t timescale, Int_t devicekey) |
| virtual void | VaAnalysis::GetLastSetPt() |
| virtual void | VaAnalysis::InitFeedback() |
| virtual void | VaAnalysis::InitTree(const TaCutList&) |
| ErrCode_t | VaAnalysis::NewPrePair() |
| virtual ErrCode_t | VaAnalysis::PreProcessEvt() |
| virtual void | VaAnalysis::ProceedFeedback() |
| virtual void | VaAnalysis::ProceedLastFeedback() |
| virtual ErrCode_t | VaAnalysis::ProcessEvt() |
| virtual ErrCode_t | VaAnalysis::ProcessPair() |
| virtual void | VaAnalysis::PZTSendEPICS(Int_t fdbkoption) |
| virtual void | VaAnalysis::SendEPICS(EFeedbackType fdbk, Int_t fdbkoption) |
| virtual void | VaAnalysis::SendVoltagePZT() |
| Bool_t | VaAnalysis::WtsOK(vector<Double_t> wts) |
| TaADCCalib(const TaADCCalib& copy) | |
| virtual void | EventAnalysis() |
| virtual void | Finish() |
| void | FinishDAC() |
| void | FinishPed() |
| virtual void | Init(const Bool_t&) |
| virtual void | InitChanLists() |
| void | InitDAC() |
| void | InitPed() |
| TaADCCalib& | operator=(const TaADCCalib& assign) |
| virtual void | PairAnalysis() |
| virtual ErrCode_t | ProcessRun() |
| static const UInt_t | VaAnalysis::fgASY | Store asymmetry as result |
| static const UInt_t | VaAnalysis::fgASYN | Store normalized asymmetry as result |
| static const UInt_t | VaAnalysis::fgAVE | Use average asymmetry, not sum |
| static const UInt_t | VaAnalysis::fgAVG | Store average as result |
| static const UInt_t | VaAnalysis::fgAVGN | Store normalized average as result |
| static const UInt_t | VaAnalysis::fgBLIND | Blind this result |
| static const UInt_t | VaAnalysis::fgBLINDSIGN | Blind sign only of this result |
| static const UInt_t | VaAnalysis::fgCOPY | Store right and left values as results |
| static const UInt_t | VaAnalysis::fgDIFF | Store R-L difference as result |
| static const UInt_t | VaAnalysis::fgNO_BEAM_C_NO_ASY | Do not compute asym if lobeamc cut fails |
| static const UInt_t | VaAnalysis::fgNO_BEAM_NO_ASY | Do not compute asym if lobeam cut fails |
| static const UInt_t | VaAnalysis::fgNumBpmFdbk | |
| static const UInt_t | VaAnalysis::fgORDERED | Also do order dependent stats |
| static const EventNumber_t | VaAnalysis::fgSLICELENGTH | events in a statistics slice |
| static const UInt_t | VaAnalysis::fgSTATS | Print statistics |
| static const ErrCode_t | VaAnalysis::fgVAANA_ERROR | returned on error |
| static const ErrCode_t | VaAnalysis::fgVAANA_OK | returned on success |
| TaBlind* | VaAnalysis::fBlind | For blinding |
| UInt_t | VaAnalysis::fCurMon | Index for current monitor for normalization |
| Int_t* | VaAnalysis::fCutArray | Array of cut condition values for tree |
| Int_t* | VaAnalysis::fCutIntArray | Array of cut interval values for tree |
| Bool_t | VaAnalysis::fDoRoot | To control whether ROOT file is made |
| Bool_t | VaAnalysis::fDoRun | To control if run stats are kept |
| Bool_t | VaAnalysis::fDoSlice | To control if slice stats are kept |
| deque<VaEvent> | VaAnalysis::fEDeque | Cut delay event deque |
| size_t | VaAnalysis::fEDequeMax | Max size of cut delay event deque |
| deque<VaEvent> | VaAnalysis::fEHelDeque | Helicity delay event deque |
| size_t | VaAnalysis::fEHelDequeMax | Max size of helicity delay event deque |
| VaEvent* | VaAnalysis::fEvt | Event being analyzed |
| UInt_t | VaAnalysis::fEvtProc | Number of events processed |
| string | VaAnalysis::fFdbkName[5] | Feedback name |
| Int_t | VaAnalysis::fFeedNum[5] | feedback number |
| Bool_t | VaAnalysis::fFirstPass | Pass 1 or not? |
| Double_t | VaAnalysis::fIAHallCslope | IA feedback calibration slope for Hall-C |
| Double_t | VaAnalysis::fIAslope | IA feedback calibration slope |
| Double_t | VaAnalysis::fLast[5] | Last value of the voltage for feeback i |
| Bool_t | VaAnalysis::fLastPass | Last pass or not? |
| UInt_t | VaAnalysis::fMaxNumEv | Max number of events to analyze |
| Double_t | VaAnalysis::fMean1[5] | Feedback Mean value 1st pass |
| Double_t | VaAnalysis::fMean2[5] | Feedback Mean value 2st pass |
| string | VaAnalysis::fMonitor[5] | Current/postion Monitor name used for feedback |
| UInt_t | VaAnalysis::fMonitorKey[5] | Current/position Monitor key |
| UInt_t | VaAnalysis::fNCuts | Size of cut array |
| UInt_t | VaAnalysis::fNPair[5] | Number of pair for type i feedback |
| Bool_t | VaAnalysis::fOnlFlag | Flag whether data are online or not. |
| deque<VaPair*> | VaAnalysis::fPDeque | Cut delay pair deque |
| size_t | VaAnalysis::fPDequeMax | Max size of cut delay pair deque |
| Double_t | VaAnalysis::fPITAslope | PITA feedback calibration slope |
| Double_t* | VaAnalysis::fPZTMatrix | PZT matrix |
| Bool_t | VaAnalysis::fPZTQcoupling | Enable correction for PZT Q coupling |
| Double_t | VaAnalysis::fPZTQslopes[2] | PZT Q coupling slopes |
| VaPair* | VaAnalysis::fPair | Pair being analyzed |
| UInt_t | VaAnalysis::fPairProc | Number of pairs processed |
| TTree* | VaAnalysis::fPairTree | Pair tree for Root file |
| EPairType | VaAnalysis::fPairType | Type of beam helicity structure |
| VaEvent* | VaAnalysis::fPreEvt | Event being preprocessed |
| VaPair* | VaAnalysis::fPrePair | Pair being built |
| Double_t | VaAnalysis::fRMS[5] | Feedback RMS |
| Double_t | VaAnalysis::fResult[5] | (asy or diff) result for feedback i |
| Double_t | VaAnalysis::fResultError[5] | (asy or diff) result error for feedback i |
| TaRun* | VaAnalysis::fRun | Run being analyzed |
| Int_t | VaAnalysis::fRunNum | current run number |
| Bool_t | VaAnalysis::fSend[5] | Enable send voltage value for feedback |
| EventNumber_t | VaAnalysis::fSliceLimit | Event number at end of next slice |
| Int_t | VaAnalysis::fStartPair[5] | Feedback pair start |
| Int_t | VaAnalysis::fStopPair[5] | IA feedback pair stop |
| vector<Double_t> | VaAnalysis::fSum[5] | Sum of value for feedback i |
| Bool_t | VaAnalysis::fSwitch[5] | Enable compute vlaue for feedback |
| UInt_t | VaAnalysis::fTimeScale[5] | Timescale of feedback |
| Int_t | VaAnalysis::fTreeLEvNum | Left ev number for tree |
| vector<AnaList> | VaAnalysis::fTreeList | Quantities to put in the pair results and pair tree |
| Double_t | VaAnalysis::fTreeMEvNum | Mean ev number for tree |
| Int_t | VaAnalysis::fTreeOKCCut | Pair not in cut interval (hallC) |
| Int_t | VaAnalysis::fTreeOKCond | Pair passes cut conditions |
| Int_t | VaAnalysis::fTreeOKCut | Pair not in cut interval |
| Int_t | VaAnalysis::fTreePrevHel | True helicity of prev event |
| Int_t | VaAnalysis::fTreePrevROHel | Readout helicity of prev event |
| Int_t | VaAnalysis::fTreeREvNum | Right ev number for tree |
| Double_t* | VaAnalysis::fTreeSpace | Other data for tree |
| static const Int_t | MaxNoiseDACBin | |
| Bool_t | chanExists[30][4] | |
| Double_t | dADCavg[65536] | |
| vector<vector<Double_t> > | dADCsum | sum of ADC value for each chan#/DAC bin |
| vector<vector<Double_t> > | dADCsum2 | sum of ADC value-squared |
| Double_t | dADCvar[65536] | |
| Double_t | dDACval[65536] | |
| Double_t | dEDACval[65536] | |
| vector<vector<Int_t> > | dEntries | number of entries in each chan#/DAC bin |
| Double_t | dRes[65536] | |
| TGraphErrors** | dgraphs | array of graphs |
| vector<Double_t> | fSumX | sum of X |
| vector<Double_t> | fSumX2 | sum of X^2 |
| vector<Double_t> | fSumXY | sum of XY needed for linear fit |
| vector<Double_t> | fSumY | sum of Y needed for linear fit |
| TFile* | hfile | root histo file |
| vector<Int_t> | nEntries | nEntries for this channel |
| TH1F** | phist | Array of histograms |
| TGraphErrors** | rgraphs | array of graphs |
| Int_t | typeFlag |
| Inheritance Chart: | |||||||||
|
TaADCCalib constructor; argument specifying calibration type may be "adcped" or "adcdac".
Initialization -- determines which channels to analyze, then calls type-specific initialization
Main analysis routine -- this is the event loop, override this from VaAnalysis because it is such a pain to deal with helicity, which isn't necessary in calibration runs.
put everything needed to analyze one event when looping over all devices, make keys (strings like adc0_1, first number slot, second number channel), and check whether keys exist. use GetData(key) to get data? maybe init phase can be used to check for all valid keys?