Skip to content

Commit

Permalink
Stop using cout in the codes of Calibration/HcalCalibAlgos
Browse files Browse the repository at this point in the history
  • Loading branch information
Sunanda committed Aug 6, 2021
1 parent 0457bc7 commit 1d50112
Show file tree
Hide file tree
Showing 12 changed files with 194 additions and 162 deletions.
2 changes: 1 addition & 1 deletion Calibration/HcalCalibAlgos/plugins/Analyzer_minbias.cc
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ namespace cms {
if (!gtRecord.isValid()) {
// LogDebug("L1GlobalTriggerRecordProducer")
// edm::LogVerbatim("AnalyzerMB")
// << "\n\n Error: no L1GlobalTriggerReadoutRecord found with input tag "
// << m_l1GtReadoutRecord
// << "\n Returning empty L1GlobalTriggerRecord.\n\n";
Expand Down
28 changes: 14 additions & 14 deletions Calibration/HcalCalibAlgos/plugins/HOCalibAnalyzer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -573,7 +573,7 @@ HOCalibAnalyzer::HOCalibAnalyzer(const edm::ParameterSet& iConfig)
if (nbn > nbin)
nbn = nbin;

edm::LogInfo("HOCalib") << "nbin " << nbin << " " << alow << " " << ahigh << " " << tmpwid << " " << nbn;
edm::LogVerbatim("HOCalib") << "nbin " << nbin << " " << alow << " " << ahigh << " " << tmpwid << " " << nbn;

for (int ij = 0; ij < 15; ij++) {
sprintf(title, "sigvsndof_ring%i", ij + 1);
Expand Down Expand Up @@ -926,7 +926,7 @@ HOCalibAnalyzer::~HOCalibAnalyzer() {
theFile->cd();
theFile->Write();
theFile->Close();
edm::LogInfo("HOCalib") << " Ttoal events = " << Nevents << " Selected events # is " << ipass;
edm::LogVerbatim("HOCalib") << " Ttoal events = " << Nevents << " Selected events # is " << ipass;
}

//
Expand Down Expand Up @@ -982,7 +982,7 @@ void HOCalibAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i
//swapped phi map for R0+/R0- (15/03/07)
for (int ij=0; ij<4; ij++) {
for (int jk=0; jk<21; jk++) {
edm::LogInfo("HOCalib") <<"ieta "<<ij<<" "<<jk<<" "<<etamap[ij][jk];
edm::LogVerbatim("HOCalib") <<"ieta "<<ij<<" "<<jk<<" "<<etamap[ij][jk];
}
}
Expand Down Expand Up @@ -1042,7 +1042,7 @@ void HOCalibAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i
isCosMu = false;
}
if (Nevents % 5000 == 1)
edm::LogInfo("HOCalib") << "nmuon event # " << Nevents << " Run # " << iEvent.id().run() << " Evt # "
edm::LogVerbatim("HOCalib") << "nmuon event # " << Nevents << " Run # " << iEvent.id().run() << " Evt # "
<< iEvent.id().event() << " " << ipass;

if (isCosMu && !(*HOCalib).empty()) {
Expand Down Expand Up @@ -1087,10 +1087,10 @@ void HOCalibAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i
hoflag = (*hoC).hoflag;
for (int ij = 0; ij < 9; ij++) {
hosig[ij] = (*hoC).hosig[ij];
} //edm::LogInfo("HOCalib")<<"hosig "<<i<<" "<<hosig[ij];}
} //edm::LogVerbatim("HOCalib")<<"hosig "<<i<<" "<<hosig[ij];}
for (int ij = 0; ij < 18; ij++) {
hocorsig[ij] = (*hoC).hocorsig[ij];
} // edm::LogInfo("HOCalib")<<"hocorsig "<<i<<" "<<hocorsig[ij];}
} // edm::LogVerbatim("HOCalib")<<"hocorsig "<<i<<" "<<hocorsig[ij];}
hocro = (*hoC).hocro;
for (int ij = 0; ij < 3; ij++) {
caloen[ij] = (*hoC).caloen[ij];
Expand All @@ -1100,7 +1100,7 @@ void HOCalibAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i
for (int ij = 0; ij < 9; ij++) {
hbhesig[ij] = (*hoC).hbhesig[ij];
}
} // edm::LogInfo("HOCalib")<<"hbhesig "<<ij<<" "<<hbhesig[ij];}}
} // edm::LogVerbatim("HOCalib")<<"hbhesig "<<ij<<" "<<hbhesig[ij];}}

T1->Fill();

Expand Down Expand Up @@ -1451,7 +1451,7 @@ void HOCalibAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i
}
}

// edm::LogInfo("HOCalib") <<"cosmic "<<hosig[4]<<" "<<caloen[3]<<" "<<int(iselect2)<<" "<<int(m_cosmic);
// edm::LogVerbatim("HOCalib") <<"cosmic "<<hosig[4]<<" "<<caloen[3]<<" "<<int(iselect2)<<" "<<int(m_cosmic);

if (iselect2 == 1) {
int tmpphi2 = (iphi + 6 <= nphimx) ? iphi + 5 : iphi + 5 - nphimx;
Expand Down Expand Up @@ -1521,16 +1521,16 @@ void HOCalibAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i
tmpphi = abs(tmpphi - 2);
if (int((hocorsig[fact * tmpeta + tmpphi] - hosig[4]) * 10000) / 10000. != 0) {
iaxxx++;
edm::LogInfo("HOCalib") << "iring2xxx " << irun << " " << ievt << " " << isect << " " << iring << " "
edm::LogVerbatim("HOCalib") << "iring2xxx " << irun << " " << ievt << " " << isect << " " << iring << " "
<< tmpsect << " " << ieta << " " << iphi << " " << npixel << " " << tmpeta << " "
<< tmpphi << " " << tmpeta1 << " " << tmpphi1 << " itag " << itag << " " << iflip
<< " " << fact << " " << hocorsig[fact * tmpeta + tmpphi] << " "
<< fact * tmpeta + tmpphi << " " << hosig[4] << " " << hodx << " " << hody;

for (int ij = 0; ij < 18; ij++) {
edm::LogInfo("HOCalib") << " " << ij << " " << hocorsig[ij];
edm::LogVerbatim("HOCalib") << " " << ij << " " << hocorsig[ij];
}
edm::LogInfo("HOCalib") << " ix " << iaxxx << " " << ibxxx;
edm::LogVerbatim("HOCalib") << " ix " << iaxxx << " " << ibxxx;
} else {
ibxxx++;
}
Expand Down Expand Up @@ -1643,7 +1643,7 @@ void HOCalibAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i
}
if (m_hbinfo) { // #ifdef HBINFO
hbhe_sig[k]->Fill(hbhesig[k]);
// edm::LogInfo("HOCalib") <<"hbhe "<<k<<" "<<hbhesig[k];
// edm::LogVerbatim("HOCalib") <<"hbhe "<<k<<" "<<hbhesig[k];
} //m_hbinfo #endif
}
} //if (iselect==1)
Expand Down Expand Up @@ -2176,7 +2176,7 @@ void HOCalibAnalyzer::endJob() {
if (step[k] > -10) {
gMinuit->mnpout(k, chnam, parv, err, xlo, xup, iuit);
gMinuit->mnerrs(k, plerr, mierr, eparab, gcc);
// edm::LogInfo("HOCalib") <<"k "<< k<<" "<<chnam<<" "<<parv<<" "<<err<<" "<<xlo<<" "<<xup<<" "<<plerr<<" "<<mierr<<" "<<eparab;
// edm::LogVerbatim("HOCalib") <<"k "<< k<<" "<<chnam<<" "<<parv<<" "<<err<<" "<<xlo<<" "<<xup<<" "<<plerr<<" "<<mierr<<" "<<eparab;
if (k == 0) {
gaupr[k] = parv * binwid;
parer[k] = err * binwid;
Expand Down Expand Up @@ -2366,7 +2366,7 @@ void HOCalibAnalyzer::endJob() {

int kl = (jk < 15) ? jk + 1 : 14 - jk;

edm::LogInfo("HOCalib") << "histinfo" << iijj << " fit " << std::setw(3) << kl << " " << std::setw(3)
edm::LogVerbatim("HOCalib") << "histinfo" << iijj << " fit " << std::setw(3) << kl << " " << std::setw(3)
<< ij + 1 << " " << std::setw(5) << pedstll[izone]->GetEntries() << " "
<< std::setw(6) << pedstll[izone]->GetMean() << " " << std::setw(6)
<< pedstll[izone]->GetRMS() << " " << std::setw(5) << signall[izone]->GetEntries()
Expand Down
23 changes: 10 additions & 13 deletions Calibration/HcalCalibAlgos/plugins/HcalCalibrator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -110,28 +110,26 @@ void HcalCalibrator::beginJob() {}

void HcalCalibrator::endJob() {
if (mCalibType != "DI_JET" && mCalibType != "ISO_TRACK") {
std::cout << "\n\nUnknown calibration type " << mCalibType << std::endl;
std::cout << "Please select ISO_TRACK or DI_JET in the python file." << std::endl;
edm::LogVerbatim("HcalCalib") << "\n\nUnknown calibration type " << mCalibType;
edm::LogVerbatim("HcalCalib") << "Please select ISO_TRACK or DI_JET in the python file.";
return;
}

if (mCalibMethod != "L3" && mCalibMethod != "MATRIX_INV_OF_ETA_AVE" && mCalibMethod != "L3_AND_MTRX_INV") {
std::cout << "\n\nUnknown calibration method " << mCalibMethod << std::endl;
std::cout << "Supported methods for IsoTrack calibration are: L3, MATRIX_INV_OF_ETA_AVE, L3_AND_MTRX_INV"
<< std::endl;
std::cout << "For DiJets the supported method is L3" << std::endl;
edm::LogVerbatim("HcalCalib") << "\n\nUnknown calibration method " << mCalibMethod;
edm::LogVerbatim("HcalCalib") << "Supported methods for IsoTrack calibration are: L3, MATRIX_INV_OF_ETA_AVE, L3_AND_MTRX_INV";
edm::LogVerbatim("HcalCalib") << "For DiJets the supported method is L3";
return;
}

if (mCalibType == "DI_JET" && mCalibMethod != "L3") {
std::cout << "\n\nDiJet calibration can use only the L3 method. Please change the python file." << std::endl;
edm::LogVerbatim("HcalCalib") << "\n\nDiJet calibration can use only the L3 method. Please change the python file.";
return;
}

if (mCalibAbsIEtaMin < 1 || mCalibAbsIEtaMax > 41 || mCalibAbsIEtaMin > mCalibAbsIEtaMax) {
std::cout
<< "\n\nInvalid ABS(iEta) calibration range. Check calibAbsIEtaMin and calibAbsIEtaMax in the python file."
<< std::endl;
edm::LogVerbatim("HcalCalib")
<< "\n\nInvalid ABS(iEta) calibration range. Check calibAbsIEtaMin and calibAbsIEtaMax in the python file.";
return;
}

Expand Down Expand Up @@ -189,11 +187,10 @@ void HcalCalibrator::endJob() {
}
inputFileList.close();

std::cout << "\nInput files for processing:" << std::endl;
edm::LogVerbatim("HcalCalib") << "\nInput files for processing:";
for (std::vector<TString>::iterator it = inputFiles.begin(); it != inputFiles.end(); ++it) {
std::cout << "file: " << it->Data() << std::endl;
edm::LogVerbatim("HcalCalib") << "file: " << it->Data();
}
std::cout << std::endl;

TChain* fChain = new TChain("hcalCalibTree");

Expand Down
83 changes: 49 additions & 34 deletions Calibration/HcalCalibAlgos/plugins/ValidIsoTrkCalib.cc
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ See the twiki page for details:
#include <fstream>
#include <map>

//#define EDM_ML_DEBUG

class ValidIsoTrkCalib : public edm::one::EDAnalyzer<edm::one::SharedResources> {
public:
explicit ValidIsoTrkCalib(const edm::ParameterSet&);
Expand Down Expand Up @@ -236,7 +238,7 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
try {
respRecalib = &iSetup.getData(tok_recalibCorrs_);

edm::LogInfo("CalibConstants") << " Loaded: OK ";
edm::LogVerbatim("CalibConstants") << " Loaded: OK ";

} catch (const cms::Exception& e) {
edm::LogWarning("CalibConstants") << " Not Found!! ";
Expand Down Expand Up @@ -274,9 +276,9 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
parameters_.useMuon = false;
//parameters_.dREcal = taECALCone_;
//parameters_.dRHcal = taHCALCone_;

//cout<<"Hello World. TrackCollectionSize: "<< isoPixelTracks->size()<<endl;

#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<"Hello World. TrackCollectionSize: "<< isoPixelTracks->size();
#endif
if (isoPixelTracks->empty())
return;

Expand Down Expand Up @@ -305,17 +307,19 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
continue;

ptNear = isoMatched->maxPtPxl();
//cout<<"Point 0.1 isoMatch. ptnear: "<<ptNear<<endl;

#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<"Point 0.1 isoMatch. ptnear: "<<ptNear;
#endif
// CUT
if (trit->hitPattern().numberOfValidHits() < MinNTrackHitsBarrel)
continue;
if (fabs(trit->eta()) > 1.47 && trit->hitPattern().numberOfValidStripTECHits() < MinNTECHitsEndcap)
continue;

//cout<<"Point 0.2.1 after numofvalidhits HB: "<<trit->hitPattern().numberOfValidHits()<<endl;
//cout<<"Point 0.2.2 after numofvalidstrips HE: "<<trit->hitPattern().numberOfValidStripTECHits()<<endl;

#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<"Point 0.2.1 after numofvalidhits HB: "<<trit->hitPattern().numberOfValidHits();
edm::LogVerbatim("HcalIsoTrack")<<"Point 0.2.2 after numofvalidstrips HE: "<<trit->hitPattern().numberOfValidStripTECHits();
#endif
numVH = trit->hitPattern().numberOfValidHits();
numVS = trit->hitPattern().numberOfValidStripTECHits();

Expand All @@ -326,9 +330,10 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&

emEnergy = isoMatched->energyIn();

//cout<<"Point 0.3. Matched :: pt: "<<trit->pt()<<" wholeEnergy: "<<trackE<<" emEnergy: "<<emEnergy<<" eta: "<<etahcal<<" phi: "<<phihcal<<endl;
//cout<<"Point 0.4. EM energy in cone: "<<emEnergy<<" EtaHcal: "<<etahcal<<" PhiHcal: "<<phihcal<<endl;

#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<"Point 0.3. Matched :: pt: "<<trit->pt()<<" wholeEnergy: "<<trackE<<" emEnergy: "<<emEnergy<<" eta: "<<trackEta<<" phi: "<<trackPhi;
edm::LogVerbatim("HcalIsoTrack")<<"Point 0.4. EM energy in cone: "<<emEnergy;
#endif
TrackDetMatchInfo info = trackAssociator_.associate(
iEvent,
iSetup,
Expand All @@ -349,11 +354,11 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
zTrkHcal = info.trkGlobPosAtHcal.z();

if (xTrkEcal == 0 && yTrkEcal == 0 && zTrkEcal == 0) {
cout << "zero point at Ecal" << endl;
edm::LogVerbatim("HcalIsoTrack") << "zero point at Ecal";
continue;
}
if (xTrkHcal == 0 && yTrkHcal == 0 && zTrkHcal == 0) {
cout << "zero point at Hcal" << endl;
edm::LogVerbatim("HcalIsoTrack") << "zero point at Hcal";
continue;
}

Expand Down Expand Up @@ -382,8 +387,9 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
std::vector<DetId> usedHits;
//
usedHits.clear();
//cout <<"Point 1. Entrance to HBHECollection"<<endl;

#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack") <<"Point 1. Entrance to HBHECollection";
#endif
//float dddeta = 1000.;
//float dddphi = 1000.;
//int iphitrue = 1234;
Expand Down Expand Up @@ -419,12 +425,12 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
if (depthhit != 1)
continue;

/*
float dphi = fabs(phihcal - phihit);
if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
float deta = fabs(etahcal - etahit);
float dr = sqrt(dphi*dphi + deta*deta);
*/
#ifdef EDM_ML_DEBUG
float dphi = fabs(info.trkGlobPosAtHcal.phi() - pos.phi());
if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
float deta = fabs(info.trkGlobPosAtHcal.eta() - pos.eta());
float dr = sqrt(dphi*dphi + deta*deta);
#endif

//double distAtHcal = getDistInPlaneTrackDir(gPointHcal, trackMomAtHcal, pos);
double distAtHcal = getDistInPlaneSimple(gPointHcal, pos);
Expand All @@ -440,8 +446,9 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
enehit = enehit + enehit2;
}

//cout<<"IN CONE ieta: "<<ietahitm<<" iphi: "<<iphihitm<<" depthhit: "<<depthhit<<" dr: "<<dr<<" energy: "<<enehit<<endl;

#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<"IN CONE ieta: "<<ietahitm<<" iphi: "<<iphihitm<<" depthhit: "<<depthhit<<" dr: "<<dr<<" energy: "<<enehit;
#endif
//Find a Hit with Maximum Energy

if (enehit > MaxHit.hitenergy) {
Expand All @@ -459,18 +466,20 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&

usedHits.clear();

//cout<<"Hottest ieta: "<<MaxHit.ietahitm<<" iphi: "<<MaxHit.iphihitm<<" dr: "<<MaxHit.dr<<endl;
//cout<<"Track ieta: "<<ietatrue<<" iphi: "<<iphitrue<<endl;

//cout<<"Point 3. MaxHit :::En "<<MaxHit.hitenergy<<" ieta: "<<MaxHit.ietahitm<<" iphi: "<<MaxHit.iphihitm<<endl;
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<"Hottest ieta: "<<MaxHit.ietahitm<<" iphi: "<<MaxHit.iphihitm<<" dr: "<<MaxHit.dr;
edm::LogVerbatim("HcalIsoTrack")<<"Track ieta: "<<ietatrue<<" iphi: "<<iphitrue;
edm::LogVerbatim("HcalIsoTrack")<<"Point 3. MaxHit :::En "<<MaxHit.hitenergy<<" ieta: "<<MaxHit.ietahitm<<" iphi: "<<MaxHit.iphihitm;
#endif

Bool_t passCuts = kFALSE;
if (trackE > energyMinIso && trackE < energyMaxIso && emEnergy < energyECALmip && MaxHit.hitenergy > 0. &&
abs(MaxHit.ietahitm) < 29)
passCuts = kTRUE;

//cout<<"Pont 0.1.1. trackE:"<<trackE<<" emEn: "<<emEnergy<<endl;

#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<"Pont 0.1.1. trackE:"<<trackE<<" emEn: "<<emEnergy;
#endif
numHits = 0;

eClustBefore = 0.0;
Expand Down Expand Up @@ -525,7 +534,9 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
// factor = CalibFactors[hhit->id()];
factor = respRecalib->getValues(hhit->id())->getValue();

//if(i<5){cout<<" calib factors: "<<factor<<" ij "<<100*i+j<<endl;}
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<" calib factors: "<<factor;
#endif

if (hhit->id().ieta() == MaxHit.ietahitm && hhit->id().iphi() == MaxHit.iphihitm)
CentHitFactor = factor;
Expand Down Expand Up @@ -659,7 +670,9 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&
} //end of isoProdTracks cycle

/* ------------------ Some stuff for general tracks ---------- ----*/
//cout<<" generalTracks Size: "<< generalTracks->size()<<endl;
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HcalIsoTrack")<<" generalTracks Size: "<< generalTracks->size();
#endif
int n = generalTracks->size();
nTracks->Fill(n);

Expand Down Expand Up @@ -710,8 +723,10 @@ void ValidIsoTrkCalib::analyze(const edm::Event& iEvent, const edm::EventSetup&

// ------------ method called once each job just before starting event loop ------------
void ValidIsoTrkCalib::beginJob() {
// if(!ReadCalibFactors(calibFactorsFileName_.c_str() )) {cout<<"Cant read file with cailib coefficients!! ---"<<endl;}

#ifdef EDM_ML_DEBUG
// if (!ReadCalibFactors(calibFactorsFileName_.c_str() ))
// edm::LogVerbatim("HcalIsoTrack")<<"Cant read file with cailib coefficients!! ---";
#endif
// rootFile = new TFile(outputFileName_.c_str(),"RECREATE");

//@@@@@@@@@@@@@
Expand Down
7 changes: 4 additions & 3 deletions Calibration/HcalCalibAlgos/src/HcalConstantsXMLWriter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include <xercesc/dom/DOM.hpp>
#include <xercesc/dom/DOMCharacterData.hpp>
#include <xercesc/parsers/XercesDOMParser.hpp>
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "Utilities/Xerces/interface/Xerces.h"
#include <xercesc/framework/LocalFileFormatTarget.hpp>
#include <xercesc/util/XMLUni.hpp>
Expand Down Expand Up @@ -34,7 +35,7 @@ void HcalConstantsXMLWriter::writeXML(std::string& newfile0,
char const* fend = "\0";
newfile[nn] = *fend;

std::cout << " New file " << newfile << std::endl;
edm::LogVerbatim("HcalCalib") << " New file " << newfile << std::endl;

std::filebuf fb;
fb.open(newfile, std::ios::out);
Expand Down Expand Up @@ -68,11 +69,11 @@ void HcalConstantsXMLWriter::writeXML(std::string& newfile0,
rootelem->appendChild(theDOMVec[i]);
}

std::cout << " Write Doc " << theDOMVec.size() << std::endl;
edm::LogVerbatim("HcalCalib") << " Write Doc " << theDOMVec.size();
DOMLSOutput* output = mDom->createLSOutput();
output->setByteStream(&formTarget);
domWriter->write(mDoc, output);
std::cout << " End of Writting " << std::endl;
edm::LogVerbatim("HcalCalib") << " End of Writting ";
mDoc->release();
output->release();
domWriter->release();
Expand Down

0 comments on commit 1d50112

Please sign in to comment.