Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions pixel/PixelCalibrations/include/PixelFEDCalDelCalibration.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "toolbox/exception/Handler.h"
#include "toolbox/Event.h"
#include "CalibFormats/SiPixelObjects/interface/PixelCalibConfiguration.h"
#include "PixelUtilities/PixelRootUtilities/include/PixelElogMaker.h"
#include "PixelCalibrations/include/PixelFEDCalibrationBase.h"
#include "PixelCalibrations/include/PixelEfficiency2DWBCCalDel.h"
#include "TFile.h"
Expand All @@ -33,6 +34,9 @@ class PixelFEDCalDelCalibration: public PixelFEDCalibrationBase {
virtual void initializeFED();

private:
bool writeElog;
TString outtext;
PixelElogMaker* elog;

pos::PixelCalibConfiguration* tempCalibObject_;
map <unsigned int, std::set<unsigned int> > fedsAndChannels_;
Expand Down
35 changes: 35 additions & 0 deletions pixel/PixelCalibrations/src/common/PixelFEDCalDelCalibration.cc
Original file line number Diff line number Diff line change
Expand Up @@ -46,18 +46,25 @@ PixelFEDCalDelCalibration::PixelFEDCalDelCalibration(const PixelFEDSupervisorCon

xoap::MessageReference PixelFEDCalDelCalibration::execute(xoap::MessageReference msg)
{
// std::cout <<"debug : !!!!!!!!!!!!!!! execute" << std::endl;

std::map <unsigned int, std::set<unsigned int> >::iterator i_fedsAndChannels;
unsigned int state=event_/tempCalibObject_->nTriggersPerPattern();

unsigned int ithreshold=tempCalibObject_->scanCounter(name1_,state);
unsigned int icaldelay=tempCalibObject_->scanCounter(name2_,state);

// std::cout <<"debug 1" << std::endl;

try {

for (i_fedsAndChannels=fedsAndChannels_.begin();i_fedsAndChannels!=fedsAndChannels_.end();++i_fedsAndChannels){

unsigned int fednumber=i_fedsAndChannels->first;
unsigned int fedcrate=theFEDConfiguration_->crateFromFEDNumber(fednumber);

// std::cout <<"debug 2" << fednumber << " " << fedcrate << std::endl;

if (fedcrate!=crate_) continue;

unsigned long vmeBaseAddress=theFEDConfiguration_->VMEBaseAddressFromFEDNumber(fednumber);
Expand All @@ -67,6 +74,8 @@ xoap::MessageReference PixelFEDCalDelCalibration::execute(xoap::MessageReference
uint64_t buffer64[fifo3Depth];
int status=iFED->spySlink64(buffer64);

// std::cout <<"debug 3" << status << std::endl;

if (status>0) {
if(0){
std::cout<<"Contents of Spy FIFO 3"<<std::endl;
Expand All @@ -82,12 +91,14 @@ xoap::MessageReference PixelFEDCalDelCalibration::execute(xoap::MessageReference
unsigned int nhits=decode.nhits();

//std::cout << "nhits:"<<nhits<<std::endl;
// std::cout <<"debug 4" << nhits << std::endl;

for (unsigned int ihit=0;ihit<nhits;ihit++){
unsigned int rocid=decode.rocid(ihit);
//assert(rocid>0);
unsigned int channel=decode.channel(ihit);

// std::cout <<"debug 5" << ihit << " " << channel << std::endl;

if(rocid<=0) {

Expand Down Expand Up @@ -167,6 +178,7 @@ xoap::MessageReference PixelFEDCalDelCalibration::beginCalibration(xoap::Message

name1_=tempCalibObject_->scanName(1);
name2_=tempCalibObject_->scanName(0);
writeElog = tempCalibObject_->parameterValue("writeElog") == "yes";

unsigned int nScanVars=tempCalibObject_->numberOfScanVariables();
assert(nScanVars>1);
Expand Down Expand Up @@ -213,12 +225,21 @@ xoap::MessageReference PixelFEDCalDelCalibration::beginCalibration(xoap::Message

}

// std::cout <<"debug : !!!!!!!!!!!!!!! BEGIN calib" << std::endl;


outtext.Form("%s/log.txt", outputDir().c_str());
elog = new PixelElogMaker("CalDelCalibration");

xoap::MessageReference reply = MakeSOAPMessageReference("BeginCalibrationDone");
return reply;
}

xoap::MessageReference PixelFEDCalDelCalibration::endCalibration(xoap::MessageReference msg){

std::ofstream ofs(outtext);
ofs << std::endl;

//First we need to get the DAC settings for the ROCs

std::vector<PixelModuleName> modules=theDetectorConfiguration_->getModuleList();
Expand Down Expand Up @@ -331,6 +352,7 @@ xoap::MessageReference PixelFEDCalDelCalibration::endCalibration(xoap::MessageRe
calDel=(int)it->second.getCalDel();
int old_calDel = theDACs[module]->getDACSettings(it->first)->getCalDel();
cout<<" Failed for "<<rocsname<<" "<<calDel<<" use old value "<<old_calDel<<endl;
ofs<<" Failed for "<<rocsname<<" "<<calDel<<" use old value "<<old_calDel<<endl;
}

tree->Fill();
Expand Down Expand Up @@ -387,9 +409,19 @@ xoap::MessageReference PixelFEDCalDelCalibration::endCalibration(xoap::MessageRe
histo_CalDel->GetXaxis()->SetTitle("CalDel");
canvas1->Write();

TString filename;
filename.Form("%s/summary_c.gif", outputDir().c_str());
canvas1->Print(filename);

outputFile_->Write();
outputFile_->Close();

if(writeElog){
string cmd = " -f ";
cmd += filename;
elog->post(runDir(), (string)outtext, cmd);
}


map<PixelModuleName,PixelDACSettings*>::iterator dacs=theDACs.begin();

Expand All @@ -398,6 +430,9 @@ xoap::MessageReference PixelFEDCalDelCalibration::endCalibration(xoap::MessageRe
}

cout << "In PixelFEDCalDelCalibration::endCalibration()" << endl;

// std::cout <<"debug : !!!!!!!!!!!!!!! END calib" << std::endl;

xoap::MessageReference reply = MakeSOAPMessageReference("EndCalibrationDone");
return reply;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,8 @@ void PixelFEDCalibrationBase::setFEDModeAndControlRegister(unsigned int mode,
iFED->second->setControlRegister(control);
//lea and jen
iFED->second->InitDummy();
iFED->second->SetFitelFiberSwitchTopDauCard(1);
// iFED->second->SetFitelFiberSwitchTopDauCard(1);
iFED->second->SetFitelFiberSwitchTopDauCard(0);
iFED->second->SetFitelFiberSwitchBottomDauCard(0);
}
}
Expand Down
10 changes: 8 additions & 2 deletions pixel/PixelCalibrations/src/common/PixelPOHBiasCalibration.cc
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ bool PixelPOHBiasCalibration::execute() {
Attribute_Vector parametersToTKFEC(1);
parametersToTKFEC[0].name_="AOHBias"; parametersToTKFEC[0].value_=itoa(AOHBias);
commandToAllTKFECCrates("SetAOHBiasEnMass", parametersToTKFEC);
// std::cout << "YUTA : finish setting AOH Bias" << std::endl;

// std::cout << "[INFO] POH bias = " << AOHBias << std::endl;

Expand All @@ -108,7 +109,8 @@ bool PixelPOHBiasCalibration::execute() {
Attribute_Vector parametersToTKFEC_Gain(1);
parametersToTKFEC_Gain[0].name_="AOHGain"; parametersToTKFEC_Gain[0].value_=itoa(AOHGain);
commandToAllTKFECCrates("SetAOHGainEnMass", parametersToTKFEC_Gain);

// std::cout << "YUTA : finish setting AOH Gain" << std::endl;

// std::cout << "[INFO] POH gain = " << AOHGain << std::endl;

for ( std::set<PixelChannel>::const_iterator channelsToCalibrate_itr = channelsToCalibrate.begin(); channelsToCalibrate_itr != channelsToCalibrate.end(); channelsToCalibrate_itr++ ){
Expand All @@ -121,6 +123,9 @@ bool PixelPOHBiasCalibration::execute() {

for (unsigned int i_event=0; i_event < nTriggersPerPOHBias; ++i_event){

// std::cout << "[INFO] POH Bias = " << AOHBias << ", POH gain = " << AOHGain << ", nTrigger = " << i_event << std::endl;
// std::cout << "YUTA : inside Loop : " << fednumber << " " << fedcrate << " " << channel << std::endl;

sendTTCCalSync();

// Send trigger to all TBMs and ROCs.
Expand Down Expand Up @@ -177,7 +182,7 @@ void PixelPOHBiasCalibration::endCalibration() {
for(;module_itr!=modules.end();++module_itr){
std::string modulePath=(*module_itr)->modulename();
ofs << "TBM setting : pixel/tbm/" << modulePath << std::endl;
ofs << "TBM setting : pixel/dac/" << modulePath << std::endl;
ofs << "DAC setting : pixel/dac/" << modulePath << std::endl;
}


Expand Down Expand Up @@ -382,6 +387,7 @@ void PixelPOHBiasCalibration::endCalibration() {
for(std::map<int, std::map<int, TH1F* > >::iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2){

Int_t ch = it2->first;
if(idraw==9) idraw+=30; // to avoid transparent color

histos[fednumber][ch][2]->SetLineColor(idraw+1);
histos[fednumber][ch][2]->SetLineWidth(2);
Expand Down
5 changes: 3 additions & 2 deletions pixel/PixelConfigDataExamples/calib/27/calib.dat
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
Mode: CalDelCalibration
Parameters: Fraction 0.50
writeElog yes
Rows:
20 | 40
10
Cols:
20 | 40
10
VcalHigh
Scan: CalDel 0 255 1
Scan: WBC 97 99 1
Expand Down
Loading