|
// // $Id: BrZdcRdoModule.cxx,v 1.14 2002/06/20 06:44:20 makeev_a Exp $ // #ifndef BRAT_BrZdcRdoModule #include "BrZdcRdoModule.h" #endif #ifndef BRAT_BrZdcDig #include "BrZdcDig.h" #endif #ifndef BRAT_BrZdcRdo #include "BrZdcRdo.h" #endif #ifndef BRAT_BrEventNode #include "BrEventNode.h" #endif #ifndef BRAT_BrTableNames #include "BrTableNames.h" #endif #ifndef BRAT_BrDetectorList #include "BrDetectorList.h" #endif #ifndef BRAT_BrUnits #include "BrUnits.h" #endif #ifndef ROOT_TDirectory #include "TDirectory.h" #endif #ifndef WIN32 #include <iostream> #else #include <iostream.h> #endif #include "BrCalibrationManager.h" #include "BrCalibration.h" ClassImp (BrZdcRdoModule) BrZdcRdoModule::BrZdcRdoModule () { } BrZdcRdoModule::BrZdcRdoModule (const Char_t *name, const Char_t *title):BrModule (name, title) { SetDefaultParameters (); } BrZdcRdoModule::~BrZdcRdoModule () { } void BrZdcRdoModule::DefineHistograms () { if (GetState ()!= kInit) { Stop ("DefineHistograms", "Must be called after Init"); return; } TDirectory *saveDir= gDirectory; TDirectory *histDir= gDirectory->mkdir (GetName ()); histDir->cd (); fEnergyHisto= new TH2F ("Energy", "Right vs left energy", 1000, 0., 1000., 1000, 0., 1000.); fEnergyHisto->SetXTitle ("left energy, GeV"); fEnergyHisto->SetYTitle ("right energy, GeV"); fEnergyHisto->SetZTitle ("events"); fTimeHisto= new TH2F ("Time", "Right vs left time", 100, 0., 100., 100, 0., 100.); fTimeHisto->SetXTitle ("left time, ns"); fTimeHisto->SetYTitle ("right time, ns"); fTimeHisto->SetZTitle ("events"); fVertexZHisto= new TH1F ("Vertex", "Vertex z-coordinate", 400, -200., 200.); fVertexZHisto->SetXTitle ("z-vertex, cm"); fVertexZHisto->SetYTitle ("events"); fVertexZCfdHisto= new TH1F ("CfdVertex", "Vertex z-coodinate", 400, -200., 200.); fVertexZCfdHisto->SetXTitle ("z-vertex, cm"); fVertexZCfdHisto->SetYTitle ("events"); gDirectory= saveDir; } void BrZdcRdoModule::SetDefaultParameters () { fZOffset= 0.0; fZCfdOffset= 50.0; SetUseSlewing (); SetUseOffset (); } void BrZdcRdoModule::Init () { SetState (kInit); Int_t iLR; fDataBase= kTRUE; if (fDataBase) { BrCalibrationManager *manager= BrCalibrationManager::Instance (); fCalibration [0]= static_cast <BrZdcCalibration*> (manager->Register ("BrZdcCalibration", "ZDCLeft")); fCalibration [1]= static_cast <BrZdcCalibration*> (manager->Register ("BrZdcCalibration", "ZDCRight")); fVtxCalib= static_cast <BrVertexCalibration*> (manager->Register ("BrVertexCalibration", "Vertex")); for (iLR= 0; iLR < 2; iLR++) { fCalibration [iLR]->Use ("TdcGain"); if (fUseSlewing) { fCalibration [iLR]->Use ("Slewpar1"); fCalibration [iLR]->Use ("Slewpar2"); fCalibration [iLR]->Use ("Slewpar3"); fCalibration [iLR]->Use ("Slewpar4"); fCalibration [iLR]->Use ("Slewpar5"); } fCalibration [iLR]->Use ("PedHi"); fCalibration [iLR]->Use ("PedWidthHi"); //fCalibration [iLR]->Use ("AdcGainHi"); // not in the DB yet... fCalibration [iLR]->Use ("PedLo"); fCalibration [iLR]->Use ("PedWidthLo"); //fCalibration [iLR]->Use ("AdcGainLo"); // not in the DB yet... } if (fUseOffset) fVtxCalib->Use ("zdcVertexOffset"); } } void BrZdcRdoModule::Event (BrEventNode *InputTable, BrEventNode *rdoevent) { SetState (kEvent); if (fDataBase) { //----- TDC gains if (fCalibration [0]->RevisionExists ("TdcGain") && fCalibration [1]->RevisionExists ("TdcGain")) { fLeftTdc1Gain= fCalibration [0]->GetTdcGain (1); fLeftTdc2Gain= fCalibration [0]->GetTdcGain (2); fLeftTdc3Gain= fCalibration [0]->GetTdcGain (3); fLeftTdcSumGain= fCalibration [0]->GetTdcGain (4); fRightTdc1Gain= fCalibration [1]->GetTdcGain (1); fRightTdc2Gain= fCalibration [1]->GetTdcGain (2); fRightTdc3Gain= fCalibration [1]->GetTdcGain (3); fRightTdcSumGain= fCalibration [1]->GetTdcGain (4); } //----- slew correction parameters if (fCalibration [0]->RevisionExists ("Slewpar1") && fCalibration [1]->RevisionExists ("Slewpar1") && fCalibration [0]->RevisionExists ("Slewpar2") && fCalibration [1]->RevisionExists ("Slewpar2") && fCalibration [0]->RevisionExists ("Slewpar3") && fCalibration [1]->RevisionExists ("Slewpar3") && fCalibration [0]->RevisionExists ("Slewpar4") && fCalibration [1]->RevisionExists ("Slewpar4") && fCalibration [0]->RevisionExists ("Slewpar5") && fCalibration [1]->RevisionExists ("Slewpar5") ) { fLeft1P0= fCalibration [0]->GetSlewpar1 (1); fLeft1P1= fCalibration [0]->GetSlewpar2 (1); fLeft1P2= fCalibration [0]->GetSlewpar3 (1); fLeft1P3= fCalibration [0]->GetSlewpar4 (1); fLeft1P4= fCalibration [0]->GetSlewpar5 (1); fLeft2P0= fCalibration [0]->GetSlewpar1 (2); fLeft2P1= fCalibration [0]->GetSlewpar2 (2); fLeft2P2= fCalibration [0]->GetSlewpar3 (2); fLeft2P3= fCalibration [0]->GetSlewpar4 (2); fLeft2P4= fCalibration [0]->GetSlewpar5 (2); fLeft3P0= fCalibration [0]->GetSlewpar1 (3); fLeft3P1= fCalibration [0]->GetSlewpar2 (3); fLeft3P2= fCalibration [0]->GetSlewpar3 (3); fLeft3P3= fCalibration [0]->GetSlewpar4 (3); fLeft3P4= fCalibration [0]->GetSlewpar5 (3); fRight1P0= fCalibration [1]->GetSlewpar1 (1); fRight1P1= fCalibration [1]->GetSlewpar2 (1); fRight1P2= fCalibration [1]->GetSlewpar3 (1); fRight1P3= fCalibration [1]->GetSlewpar4 (1); fRight1P4= fCalibration [1]->GetSlewpar5 (1); fRight2P0= fCalibration [1]->GetSlewpar1 (2); fRight2P1= fCalibration [1]->GetSlewpar2 (2); fRight2P2= fCalibration [1]->GetSlewpar3 (2); fRight2P3= fCalibration [1]->GetSlewpar4 (2); fRight2P4= fCalibration [1]->GetSlewpar5 (2); fRight3P0= fCalibration [1]->GetSlewpar1 (3); fRight3P1= fCalibration [1]->GetSlewpar2 (3); fRight3P2= fCalibration [1]->GetSlewpar3 (3); fRight3P3= fCalibration [1]->GetSlewpar4 (3); fRight3P4= fCalibration [1]->GetSlewpar5 (3); } //----- ADC pedestals if (fCalibration [0]->RevisionExists ("PedHi") && fCalibration [1]->RevisionExists ("PedHi")) { fLeftPed1= fCalibration [0]->GetPedHi (1); fLeftPed2= fCalibration [0]->GetPedHi (2); fLeftPed3= fCalibration [0]->GetPedHi (3); fLeftPedSum= fCalibration [0]->GetPedHi (4); fRightPed1= fCalibration [1]->GetPedHi (1); fRightPed2= fCalibration [1]->GetPedHi (2); fRightPed3= fCalibration [1]->GetPedHi (3); fRightPedSum= fCalibration [1]->GetPedHi (4); } if (fCalibration [0]->RevisionExists ("PedLo") && fCalibration [1]->RevisionExists ("PedLo")) { fLeftPed1Lo= fCalibration [0]->GetPedLo (1); fLeftPed2Lo= fCalibration [0]->GetPedLo (2); fLeftPed3Lo= fCalibration [0]->GetPedLo (3); fLeftPedSumLo= fCalibration [0]->GetPedLo (4); fRightPed1Lo= fCalibration [1]->GetPedLo (1); fRightPed2Lo= fCalibration [1]->GetPedLo (2); fRightPed3Lo= fCalibration [1]->GetPedLo (3); fRightPedSumLo= fCalibration [1]->GetPedLo (4); } //----- ADC gains (not in the DB yet...) /*if (fCalibration [0]->RevisionExists ("AdcGainHi") && fCalibration [1]->RevisionExists ("AdcGainHi")) { fLeftAdcSumGain= fCalibration [0]->GetAdcGainHi (4); fRightAdcSumGain= fCalibration [1]->GetAdcGainHi (4); } if (fCalibration [0]->RevisionExists ("AdcGainLo") && fCalibration [1]->RevisionExists ("AdcGainLo")) { fLeftAdcSumGainLo= fCalibration [0]->GetAdcGainLo (4); fRightAdcSumGainLo= fCalibration [1]->GetAdcGainLo (4); }*/ /*cout << "--- ZDC calibration parameters ---" << endl; cout << "fLeftTdc1Gain= " << fLeftTdc1Gain << endl; cout << "fLeftTdc2Gain= " << fLeftTdc2Gain << endl; cout << "fLeftTdc3Gain= " << fLeftTdc3Gain << endl; cout << "fLeftTdcSumGain= " << fLeftTdcSumGain << endl; cout << "---------------------------" << endl; cout << "fRightTdc1Gain= " << fRightTdc1Gain << endl; cout << "fRightTdc2Gain= " << fRightTdc2Gain << endl; cout << "fRightTdc3Gain= " << fRightTdc3Gain << endl; cout << "fRightTdcSumGain= " << fRightTdcSumGain << endl; cout << "---------------------------" << endl; cout << "fLeft1P0= " << fLeft1P0 << endl; cout << "fLeft1P1= " << fLeft1P1 << endl; cout << "fLeft1P2= " << fLeft1P2 << endl; cout << "fLeft1P3= " << fLeft1P3 << endl; cout << "fLeft1P4= " << fLeft1P4 << endl; cout << "---------------------------" << endl; cout << "fLeft2P0= " << fLeft2P0 << endl; cout << "fLeft2P1= " << fLeft2P1 << endl; cout << "fLeft2P2= " << fLeft2P2 << endl; cout << "fLeft2P3= " << fLeft2P3 << endl; cout << "fLeft2P4= " << fLeft2P4 << endl; cout << "---------------------------" << endl; cout << "fLeft3P0= " << fLeft3P0 << endl; cout << "fLeft3P1= " << fLeft3P1 << endl; cout << "fLeft3P2= " << fLeft3P2 << endl; cout << "fLeft3P3= " << fLeft3P3 << endl; cout << "fLeft3P4= " << fLeft3P4 << endl; cout << "---------------------------" << endl; cout << "fRight1P0 " << fRight1P0 << endl; cout << "fRight1P1 " << fRight1P1 << endl; cout << "fRight1P2 " << fRight1P2 << endl; cout << "fRight1P3 " << fRight1P3 << endl; cout << "fRight1P4 " << fRight1P4 << endl; cout << "---------------------------" << endl; cout << "fRight2P0 " << fRight2P0 << endl; cout << "fRight2P1 " << fRight2P1 << endl; cout << "fRight2P2 " << fRight2P2 << endl; cout << "fRight2P3 " << fRight2P3 << endl; cout << "fRight2P4 " << fRight2P4 << endl; cout << "---------------------------" << endl; cout << "fRight3P0 " << fRight3P0 << endl; cout << "fRight3P1 " << fRight3P1 << endl; cout << "fRight3P2 " << fRight3P2 << endl; cout << "fRight3P3 " << fRight3P3 << endl; cout << "fRight3P4 " << fRight3P4 << endl; cout << "---------------------------" << endl; cout << "fLeftPed1 " << fLeftPed1 << endl; cout << "fLeftPed2 " << fLeftPed2 << endl; cout << "fLeftPed3 " << fLeftPed3 << endl; cout << "fLeftPedSum " << fLeftPedSum << endl; cout << "---------------------------" << endl; cout << "fLeftPed1Lo " << fLeftPed1Lo << endl; cout << "fLeftPed2Lo " << fLeftPed2Lo << endl; cout << "fLeftPed3Lo " << fLeftPed3Lo << endl; cout << "fLeftPedSumLo " << fLeftPedSumLo << endl; cout << "---------------------------" << endl; cout << "fRightPed1 " << fRightPed1 << endl; cout << "fRightPed2 " << fRightPed2 << endl; cout << "fRightPed3 " << fRightPed3 << endl; cout << "fRightPedSum " << fRightPedSum << endl; cout << "---------------------------" << endl; cout << "fRightPed1Lo " << fRightPed1Lo << endl; cout << "fRightPed2Lo " << fRightPed2Lo << endl; cout << "fRightPed3Lo " << fRightPed3Lo << endl; cout << "fRightPedSumLo " << fRightPedSumLo << endl; cout << "---------------------------" << endl;*/ if (fVtxCalib->RevisionExists ("zdcVertexOffset")) fZOffset= fVtxCalib->GetZdcOffset (); } Float_t a1L, a2L, a3L, aSumL, aDigitalL, a1R, a2R, a3R, aSumR, aDigitalR, t1L, t2L, t3L, tSumL, t1R, t2R, t3R, tSumR; Float_t eL, eR, tL, tR, position; Float_t x= 0.0, NaN= 99999.0; Float_t a1L_Lo, a2L_Lo, a3L_Lo, aSumL_Lo, aDigitalL_Lo, a1R_Lo, a2R_Lo, a3R_Lo, aSumR_Lo, aDigitalR_Lo; Float_t tSumCfdL, tSumCfdR, positionCfd; Float_t eL_Lo, eR_Lo; BrZdcDig *digzdc_p; TString tableName (""); tableName= "Rdo"; tableName+= BrDetectorList::GetDetectorName (kBrZDC); BrZdcRdo *rdodata= new BrZdcRdo ("RdoZDC", "RDO data"); rdoevent->AddObject (rdodata); //----- read high-gain ADC data table if ((digzdc_p= (BrZdcDig*) InputTable->GetObject (BRTABLENAMES kDigZDC))) { rdodata->SetLeftAdc1 (a1L= digzdc_p->GetLeftAdc (0)); rdodata->SetLeftAdc2 (a2L= digzdc_p->GetLeftAdc (1)); rdodata->SetLeftAdc3 (a3L= digzdc_p->GetLeftAdc (2)); rdodata->SetLeftAdcSum (aSumL= digzdc_p->GetLeftAdcSum ()); rdodata->SetLeftDigitalSum (aDigitalL= (a1L+a2L+a3L)); rdodata->SetRightAdc1 (a1R= digzdc_p->GetRightAdc (0)); rdodata->SetRightAdc2 (a2R= digzdc_p->GetRightAdc (1)); rdodata->SetRightAdc3 (a3R= digzdc_p->GetRightAdc (2)); rdodata->SetRightAdcSum (aSumR= digzdc_p->GetRightAdcSum ()); rdodata->SetRightDigitalSum (aDigitalR= (a1R+a2R+a3R)); rdodata->SetLeftTdc1 (t1L= digzdc_p->GetLeftTdc (0)); rdodata->SetLeftTdc2 (t2L= digzdc_p->GetLeftTdc (1)); rdodata->SetLeftTdc3 (t3L= digzdc_p->GetLeftTdc (2)); rdodata->SetLeftTdcSum (tSumL= digzdc_p->GetLeftTdcSum ()); rdodata->SetRightTdc1 (t1R= digzdc_p->GetRightTdc (0)); rdodata->SetRightTdc2 (t2R= digzdc_p->GetRightTdc (1)); rdodata->SetRightTdc3 (t3R= digzdc_p->GetRightTdc (2)); rdodata->SetRightTdcSum (tSumR= digzdc_p->GetRightTdcSum ()); //----- energy in high-gain ADC //eL= (aSumL- fLeftPedSum)* fLeftAdcSumGain; //eR= (aSumR- fRightPedSum)* fRightAdcSumGain; //aDigitalL-= (fLeftPed1+fLeftPed2+fLeftPed3); //aDigitalR-= (fRightPed1+fRightPed2+fRightPed3); //eL= aDigitalL* fLeftDigitalSumGain; //eR= aDigitalR* fRightDigitalSumGain; //rdodata->SetLeftEnergy (eL); //rdodata->SetRightEnergy (eR); } //----- read low-gain ADC data table if ((digzdc_p= (BrZdcDig*) InputTable->GetObject (BRTABLENAMES kDigZDCLo))) { rdodata->SetLeftAdc1Lo (a1L_Lo= digzdc_p->GetLeftAdc (0)); rdodata->SetLeftAdc2Lo (a2L_Lo= digzdc_p->GetLeftAdc (1)); rdodata->SetLeftAdc3Lo (a3L_Lo= digzdc_p->GetLeftAdc (2)); rdodata->SetLeftAdcSumLo (aSumL_Lo= digzdc_p->GetLeftAdcSum ()); rdodata->SetLeftDigitalSumLo (aDigitalL_Lo= (a1L_Lo+a2L_Lo+a3L_Lo)); rdodata->SetRightAdc1Lo (a1R_Lo= digzdc_p->GetRightAdc (0)); rdodata->SetRightAdc2Lo (a2R_Lo= digzdc_p->GetRightAdc (1)); rdodata->SetRightAdc3Lo (a3R_Lo= digzdc_p->GetRightAdc (2)); rdodata->SetRightAdcSumLo (aSumR_Lo= digzdc_p->GetRightAdcSum ()); rdodata->SetRightDigitalSumLo (aDigitalR_Lo= (a1R_Lo+a2R_Lo+a3R_Lo)); rdodata->SetLeftCfdTdc1 (tSumCfdL=digzdc_p->GetLeftTdc (0)); rdodata->SetLeftCfdTdc2 (digzdc_p->GetLeftTdc (1)); rdodata->SetLeftCfdTdc3 (tSumCfdR=digzdc_p->GetLeftTdc (2)); rdodata->SetLeftCfdTdcSum (digzdc_p->GetLeftTdcSum ()); rdodata->SetRightCfdTdc1 (digzdc_p->GetRightTdc (0)); rdodata->SetRightCfdTdc2 (digzdc_p->GetRightTdc (1)); rdodata->SetRightCfdTdc3 (digzdc_p->GetRightTdc (2)); rdodata->SetRightCfdTdcSum (digzdc_p->GetRightTdcSum ()); //----- slew correction for left ZDC (now using low-gain ADC) if (a1L_Lo > 0 && t1L > 0 && t1L < 2047) { if (fUseSlewing) { x= 1/ sqrt (a1L_Lo); t1L= t1L*fLeftTdc1Gain- (fLeft1P1*x+ fLeft1P2*x*x+ fLeft1P3*x*x*x); } else t1L*= fLeftTdc1Gain; } else t1L= NaN; if (a2L_Lo > 0 && t2L > 0 && t2L < 2047) { if (fUseSlewing) { x= 1/ sqrt (a2L_Lo); t2L= t2L*fLeftTdc2Gain- (fLeft2P0- fLeft1P0+ fLeft2P1*x+ fLeft2P2*x*x+ fLeft2P3*x*x*x); } else t2L*= fLeftTdc2Gain; } else t2L= NaN; if (a3L_Lo > 0 && t3L > 0 && t3L < 2047) { if (fUseSlewing) { x= 1/ sqrt (a3L_Lo); t3L= t3L*fLeftTdc3Gain- (fLeft3P0- fLeft1P0+ fLeft3P1*x+ fLeft3P2*x*x+ fLeft3P3*x*x*x); } else t3L*= fLeftTdc3Gain; } else t3L= NaN; //----- slew correction for right ZDC (now using low-gain ADC) if (a1R_Lo > 0 && t1R > 0 && t1R < 2047) { if (fUseSlewing) { x= 1/ sqrt (a1R_Lo); t1R= t1R*fRightTdc1Gain- (fRight1P1*x+ fRight1P2*x*x+ fRight1P3*x*x*x); } else t1R*= fRightTdc1Gain; // correction (at least) for the runs 4640 - 5368: 1st module of the right ZDC seems to have no signal // -> no time from that module for z-vertex calculation. I put all slew parameters for the module // #1 to be 0.00 for the runs where there is no signal in that module (AM) if (fRight1P1== 0.00 && fRight1P2== 0.00 && fRight1P3== 0.00) t1R= NaN; } else t1R= NaN; if (a2R_Lo > 0 && t2R > 0 && t2R < 2047) { if (fUseSlewing) { x= 1/ sqrt (a2R_Lo); t2R= t2R*fRightTdc2Gain- (fRight2P0- fRight1P0+ fRight2P1*x+ fRight2P2*x*x+ fRight2P3*x*x*x); } else t2R*= fRightTdc2Gain; } else t2R= NaN; if (a3R_Lo > 0 && t3R > 0 && t3R < 2047) { if (fUseSlewing) { x= 1/ sqrt (a3R_Lo); t3R= t3R*fRightTdc3Gain- (fRight3P0- fRight1P0+ fRight3P1*x+ fRight3P2*x*x+ fRight3P3*x*x*x); } else t3R*= fRightTdc3Gain; } else t3R= NaN; //----- time from left ZDC if (t1L!= NaN && t2L!= NaN) { if (t3L!= NaN) { tL= (t1L+ t2L+ t3L)/ 3; } else { tL= (t1L+ t2L)/ 2; } } else tL= NaN; //----- time from right ZDC if (t1R!= NaN && t2R!= NaN) { if (t3R!= NaN) { tR= (t1R+ t2R+ t3R)/ 3; } else { tR= (t1R+ t2R)/ 2; } } else { // modified to handle problem with module #1 in right ZDC (at least) for the runs 4640 - 5368 if (t2R!= NaN && t3R!= NaN) tR= (t2R+ t3R)/ 2; else tR= NaN; } //----- calculate z-vertex if (tL== NaN || tR== NaN) position= NaN; else { if (fUseOffset) position= ((tL- tR) /2)*BrUnits::c_light- fZOffset; else position= ((tL- tR) /2)*BrUnits::c_light; } //cout << fZOffset << endl; //----- set reconstructed data rdodata->SetLeftTime1 (t1L); rdodata->SetLeftTime2 (t2L); rdodata->SetLeftTime3 (t3L); rdodata->SetLeftTime (tL); rdodata->SetRightTime1 (t1R); rdodata->SetRightTime2 (t2R); rdodata->SetRightTime3 (t3R); rdodata->SetRightTime (tR); rdodata->SetZ (position); //----- time from CFD TDC if ((tSumCfdL > 50 && tSumCfdL < 4000) && (tSumCfdR > 50 && tSumCfdR < 4000)) { positionCfd= ((Float_t) (tSumCfdL- tSumCfdR)/ 2.0)* 30.0*.1- fZCfdOffset; } else { positionCfd= NaN; } rdodata->SetZCfd (positionCfd); //----- energy in low-gain ADC //eL_Lo= (aSumL_Lo- fLeftPedSumLo)* fLeftAdcSumGainLo; //eR_Lo= (aSumR_Lo- fRightPedSumLo)* fRightAdcSumGainLo; //aDigitalL_Lo-= (fLeftPed1Lo+fLeftPed2Lo+fLeftPed3Lo); //aDigitalR_Lo-= (fRightPed1Lo+fRightPed2Lo+fRightPed3Lo); //eL_Lo= aDigitalL_Lo* fLeftDigitalSumGainLo; //eR_Lo= aDigitalR_Lo* fRightDigitalSumGainLo; //rdodata->SetLeftEnergyLo (eL_Lo); //rdodata->SetRightEnergyLo (eR_Lo); } if (HistOn ()) { fEnergyHisto->Fill (rdodata->GetLeftEnergy (), rdodata->GetRightEnergy ()); fTimeHisto->Fill (rdodata->GetLeftTime (), rdodata->GetRightTime ()); fVertexZHisto->Fill (position); fVertexZCfdHisto->Fill (positionCfd); } } // // $Log: BrZdcRdoModule.cxx,v $ // Revision 1.14 2002/06/20 06:44:20 makeev_a // ZdcRdoModule has been changed to work with data where there is no signal in 1st module of right ZDC // // Revision 1.13 2002/06/18 20:18:34 videbaek // Add conditions to if appling slewing corrections or not. As code was written // it did could pick up random values of the corrections (elements not guarentied to be zero) // // Revision 1.12 2002/06/12 19:10:13 makeev_a // commented irritating warning messages :) // // Revision 1.11 2002/06/12 07:13:58 makeev_a // bug causing crash of BrZdcRdoModule if there is no a revision in a database fixed // // Revision 1.10 2002/05/07 17:31:32 zdc // zdc rdo module returns vertex aligned with TPM1, using a database // // Revision 1.9 2002/05/03 21:20:57 zdc // Modified zdc rdo to use database calibration // // Revision 1.8 2002/01/03 19:52:44 cholm // Prepared to use BrTableNames class (or perhaps BrDetectorList) for table names // // Revision 1.7 2001/11/12 14:55:46 sanders // Added modifications for 200 GeV multiplicity/centrality calibrations. // Added cfs method to BrZdcRdoModule since this is needed to obtain // reliable position for low amplitude signals (avoids strong slewing // correction) // // Revision 1.6 2001/10/08 11:29:36 cholm // Changed to use new DB access classes // // Revision 1.5 2001/08/29 20:00:29 zdc // CFD TDC raw data added to BrZdcRdoModule // // Revision 1.14 2001/08/14 19:12:21 zdc // ZDC calibration class has been renamed to BrZdcCalibration // // Revision 1.13 2001/08/03 21:36:32 zdc // The methods to read low-gain ZDC ADC have been added to BrZdcRdoModule // // Revision 1.12 2001/04/24 02:54:02 makeev_a // Slewing correction has been refined for all 6 ZDC modules, Reconstructed Data Object returns calibrated energy, times and vertex // // Revision 1.11 2001/02/07 11:03:46 bjornhs // Removed silly bug in position calculation // // Revision 1.10 2001/02/06 16:56:19 bjornhs // Set default offset to 27.6 cm // Changed TdcCount to ns internally // // Revision 1.9 2001/02/06 13:06:48 bjornhs // Fixed RDO-module to remove event selection bias. // Removed z-offset, use void SetPosOffset(const Float_t value) // (defualt is 0) // // Revision 1.4 2000/08/05 16:50:37 videbaek // add cvs id // |
||||||
This page automatically generated by script docBrat by Christian Holm |
Copyright ; 2002 BRAHMS Collaboration
<brahmlib@rcf.rhic.bnl.gov>
|