#include <MyPackages/HcalCalibrator/src/HcalCalibrator.cc>
Public Member Functions | |
HcalCalibrator (const edm::ParameterSet &) | |
~HcalCalibrator () | |
Private Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
virtual void | beginJob () |
virtual void | endJob () |
Private Attributes | |
bool | allowMissingInputs_ |
bool | mApplyPhiSymCorFlag |
int | mCalibAbsIEtaMax |
int | mCalibAbsIEtaMin |
std::string | mCalibMethod |
std::string | mCalibType |
bool | mCombinePhi |
int | mHbClusterSize |
int | mHeClusterSize |
std::string | mHistoFileName |
std::string | mInputFileList |
double | mMaxConeDist |
double | mMaxEOverP |
double | mMaxEtThirdJet |
double | mMaxProbeJetEmFrac |
double | mMaxTagJetAbsEta |
double | mMaxTagJetEmFrac |
double | mMaxTargetE |
double | mMaxTrkEmE |
double | mMinCellE |
double | mMinDPhiDiJets |
double | mMinEOverP |
double | mMinProbeJetAbsEta |
double | mMinTagJetEt |
double | mMinTargetE |
std::string | mOutputCorCoefFileName |
std::string | mOutputFile |
std::string | mPhiSymCorFileName |
bool | mSumDepths |
bool | mSumSmallDepths |
const CaloGeometry * | mTheCaloGeometry |
bool | mUseConeClustering |
Description: <one line="" class="" summary>="">
Implementation:
This is an interface to run the the hcal calibration code for isolated tracsk and dijets. It takes tha parameters for the calibration settings from a python file and passes them to the actual calibration code in "endJob()".
Definition at line 25 of file HcalCalibrator.h.
HcalCalibrator::HcalCalibrator | ( | const edm::ParameterSet & | conf | ) | [explicit] |
Definition at line 73 of file HcalCalibrator.cc.
: mInputFileList(conf.getUntrackedParameter<string>("inputFileList")), // mOutputFile(conf.getUntrackedParameter<string>("outputFile")), mCalibType(conf.getUntrackedParameter<string>("calibType")), mCalibMethod(conf.getUntrackedParameter<string>("calibMethod")), mMinTargetE(conf.getUntrackedParameter<double>("minTargetE")), mMaxTargetE(conf.getUntrackedParameter<double>("maxTargetE")), mMinCellE(conf.getUntrackedParameter<double>("minCellE")), mMinEOverP(conf.getUntrackedParameter<double>("minEOverP")), mMaxEOverP(conf.getUntrackedParameter<double>("maxEOverP")), mMaxTrkEmE(conf.getUntrackedParameter<double>("maxTrkEmE")), mMaxEtThirdJet(conf.getUntrackedParameter<double>("maxEtThirdJet")), mMinDPhiDiJets(conf.getUntrackedParameter<double>("minDPhiDiJets")), mSumDepths(conf.getUntrackedParameter<bool>("sumDepths")), mSumSmallDepths(conf.getUntrackedParameter<bool>("sumSmallDepths")), mCombinePhi (conf.getUntrackedParameter<bool>("combinePhi")), mHbClusterSize(conf.getUntrackedParameter<int>("hbClusterSize")), mHeClusterSize(conf.getUntrackedParameter<int>("heClusterSize")), mUseConeClustering(conf.getUntrackedParameter<bool>("useConeClustering")), mMaxConeDist(conf.getUntrackedParameter<double>("maxConeDist")), mCalibAbsIEtaMax(conf.getUntrackedParameter<int>("calibAbsIEtaMax")), mCalibAbsIEtaMin(conf.getUntrackedParameter<int>("calibAbsIEtaMin")), mMaxProbeJetEmFrac(conf.getUntrackedParameter<double>("maxProbeJetEmFrac")), mMaxTagJetEmFrac(conf.getUntrackedParameter<double>("maxTagJetEmFrac")), mMaxTagJetAbsEta(conf.getUntrackedParameter<double>("maxTagJetAbsEta")), mMinTagJetEt(conf.getUntrackedParameter<double>("minTagJetEt")), mMinProbeJetAbsEta(conf.getUntrackedParameter<double>("minProbeJetAbsEta")), mPhiSymCorFileName(conf.getUntrackedParameter<string>("phiSymCorFileName")), mApplyPhiSymCorFlag(conf.getUntrackedParameter<bool>("applyPhiSymCorFlag")), mOutputCorCoefFileName(conf.getUntrackedParameter<string>("outputCorCoefFileName")), mHistoFileName(conf.getUntrackedParameter<string>("histoFileName")) { }
HcalCalibrator::~HcalCalibrator | ( | ) |
Definition at line 115 of file HcalCalibrator.cc.
{ }
void HcalCalibrator::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDAnalyzer.
Definition at line 121 of file HcalCalibrator.cc.
References edm::EventSetup::get(), mTheCaloGeometry, and edm::ESHandle< T >::product().
{ edm::ESHandle<CaloGeometry> pG; iSetup.get<CaloGeometryRecord>().get(pG); mTheCaloGeometry = pG.product(); }
void HcalCalibrator::beginJob | ( | void | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 130 of file HcalCalibrator.cc.
{ // ESHandle<CaloGeometry> theGeometry; // ESHandle<CaloSubdetectorGeometry> theEndcapGeometry_handle, theBarrelGeometry_handle; // evtSetup.get<CaloGeometryRecord>().get( theGeometry ); // edm::ESHandle<CaloGeometry> pG; // evtSetup.get<CaloGeometryRecord>().get(pG); // mTheCaloGeometry = pG.product(); }
void HcalCalibrator::endJob | ( | void | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 146 of file HcalCalibrator.cc.
References gather_cfg::cout, convertXMLtoSQLite_cfg::fileName, linker::files, diJetCalib::inputFileList, merge::inputFiles, mApplyPhiSymCorFlag, mCalibAbsIEtaMax, mCalibAbsIEtaMin, mCalibMethod, mCalibType, mCombinePhi, mHbClusterSize, mHeClusterSize, mHistoFileName, mInputFileList, mMaxConeDist, mMaxEOverP, mMaxEtThirdJet, mMaxProbeJetEmFrac, mMaxTagJetAbsEta, mMaxTagJetEmFrac, mMaxTargetE, mMaxTrkEmE, mMinCellE, mMinDPhiDiJets, mMinEOverP, mMinProbeJetAbsEta, mMinTagJetEt, mMinTargetE, mOutputCorCoefFileName, mPhiSymCorFileName, mSumDepths, mSumSmallDepths, mTheCaloGeometry, mUseConeClustering, hcalCalib::SetApplyPhiSymCorFlag(), hcalCalib::SetCalibAbsIEtaMax(), hcalCalib::SetCalibAbsIEtaMin(), hcalCalib::SetCalibMethod(), hcalCalib::SetCalibType(), hcalCalib::SetCaloGeometry(), hcalCalib::SetCombinePhiFlag(), hcalCalib::SetConeMaxDist(), hcalCalib::SetHbClusterSize(), hcalCalib::SetHeClusterSize(), hcalCalib::SetHistoFileName(), hcalCalib::SetMaxEOverP(), hcalCalib::SetMaxEtThirdJet(), hcalCalib::SetMaxProbeJetEmFrac(), hcalCalib::SetMaxTagJetAbsEta(), hcalCalib::SetMaxTagJetEmFrac(), hcalCalib::SetMaxTargetE(), hcalCalib::SetMaxTrkEmE(), hcalCalib::SetMinCellE(), hcalCalib::SetMinDPhiDiJets(), hcalCalib::SetMinEOverP(), hcalCalib::SetMinProbeJetAbsEta(), hcalCalib::SetMinTagJetEt(), hcalCalib::SetMinTargetE(), hcalCalib::SetOutputCorCoefFileName(), hcalCalib::SetPhiSymCorFileName(), hcalCalib::SetSumDepthsFlag(), hcalCalib::SetSumSmallDepthsFlag(), and hcalCalib::SetUseConeClustering().
{ if (mCalibType!="DI_JET" && mCalibType!="ISO_TRACK") { cout << "\n\nUnknown calibration type " << mCalibType << endl; cout << "Please select ISO_TRACK or DI_JET in the python file." << endl; return; } if (mCalibMethod != "L3" && mCalibMethod != "MATRIX_INV_OF_ETA_AVE" && mCalibMethod != "L3_AND_MTRX_INV") { cout << "\n\nUnknown calibration method " << mCalibMethod << endl; cout << "Supported methods for IsoTrack calibration are: L3, MATRIX_INV_OF_ETA_AVE, L3_AND_MTRX_INV" << endl; cout << "For DiJets the supported method is L3" << endl; return; } if (mCalibType=="DI_JET" && mCalibMethod!="L3") { cout << "\n\nDiJet calibration can use only the L3 method. Please change the python file." << endl; return; } if (mCalibAbsIEtaMin<1 || mCalibAbsIEtaMax>41 || mCalibAbsIEtaMin>mCalibAbsIEtaMax) { cout << "\n\nInvalid ABS(iEta) calibration range. Check calibAbsIEtaMin and calibAbsIEtaMax in the python file." << endl; return; } hcalCalib* calibrator = new hcalCalib(); // set the parameters controlling the calibratoration calibrator->SetCalibType(mCalibType); calibrator->SetCalibMethod(mCalibMethod); calibrator->SetMinTargetE(mMinTargetE); calibrator->SetMaxTargetE(mMaxTargetE); calibrator->SetMaxEtThirdJet(mMaxEtThirdJet); calibrator->SetMinDPhiDiJets(mMinDPhiDiJets); calibrator->SetSumDepthsFlag(mSumDepths); calibrator->SetSumSmallDepthsFlag(mSumSmallDepths); calibrator->SetCombinePhiFlag(mCombinePhi); calibrator->SetMinCellE(mMinCellE); calibrator->SetMinEOverP(mMinEOverP); calibrator->SetMaxEOverP(mMaxEOverP); calibrator->SetMaxTrkEmE(mMaxTrkEmE); calibrator->SetHbClusterSize(mHbClusterSize); calibrator->SetHeClusterSize(mHeClusterSize); calibrator->SetUseConeClustering(mUseConeClustering); calibrator->SetConeMaxDist(mMaxConeDist); calibrator->SetCalibAbsIEtaMax(mCalibAbsIEtaMax); calibrator->SetCalibAbsIEtaMin(mCalibAbsIEtaMin); calibrator->SetMaxProbeJetEmFrac(mMaxProbeJetEmFrac); calibrator->SetMaxTagJetEmFrac(mMaxTagJetEmFrac); calibrator->SetMaxTagJetAbsEta(mMaxTagJetAbsEta); calibrator->SetMinTagJetEt(mMinTagJetEt); calibrator->SetMinProbeJetAbsEta(mMinProbeJetAbsEta); calibrator->SetApplyPhiSymCorFlag(mApplyPhiSymCorFlag); calibrator->SetPhiSymCorFileName(mPhiSymCorFileName); calibrator->SetOutputCorCoefFileName(mOutputCorCoefFileName); calibrator->SetHistoFileName(mHistoFileName); calibrator->SetCaloGeometry(mTheCaloGeometry); ifstream inputFileList; // contains list of input root files TString files = mInputFileList; inputFileList.open(files.Data()); std::vector<TString> inputFiles; while (!inputFileList.eof()) { TString fileName; inputFileList >> fileName; if (!fileName.BeginsWith("#") && !fileName.Contains(" ") && fileName!="") inputFiles.push_back(fileName); } inputFileList.close(); std::cout << "\nInput files for processing:" << std::endl; for (std::vector<TString>::iterator it=inputFiles.begin(); it!=inputFiles.end(); ++it) { std::cout << "file: " << it->Data() << std::endl; } std::cout << std::endl; TChain* fChain = new TChain("hcalCalibTree"); for (std::vector<TString>::iterator f_it=inputFiles.begin();f_it!=inputFiles.end(); ++f_it) { fChain->Add(f_it->Data()); } fChain->Process(calibrator); if (fChain) delete fChain; delete calibrator; return; }
bool HcalCalibrator::allowMissingInputs_ [private] |
Definition at line 82 of file HcalCalibrator.h.
bool HcalCalibrator::mApplyPhiSymCorFlag [private] |
Definition at line 73 of file HcalCalibrator.h.
Referenced by endJob().
int HcalCalibrator::mCalibAbsIEtaMax [private] |
Definition at line 62 of file HcalCalibrator.h.
Referenced by endJob().
int HcalCalibrator::mCalibAbsIEtaMin [private] |
Definition at line 63 of file HcalCalibrator.h.
Referenced by endJob().
std::string HcalCalibrator::mCalibMethod [private] |
Definition at line 43 of file HcalCalibrator.h.
Referenced by endJob().
std::string HcalCalibrator::mCalibType [private] |
Definition at line 42 of file HcalCalibrator.h.
Referenced by endJob().
bool HcalCalibrator::mCombinePhi [private] |
Definition at line 55 of file HcalCalibrator.h.
Referenced by endJob().
int HcalCalibrator::mHbClusterSize [private] |
Definition at line 56 of file HcalCalibrator.h.
Referenced by endJob().
int HcalCalibrator::mHeClusterSize [private] |
Definition at line 57 of file HcalCalibrator.h.
Referenced by endJob().
std::string HcalCalibrator::mHistoFileName [private] |
Definition at line 76 of file HcalCalibrator.h.
Referenced by endJob().
std::string HcalCalibrator::mInputFileList [private] |
Definition at line 40 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMaxConeDist [private] |
Definition at line 60 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMaxEOverP [private] |
Definition at line 48 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMaxEtThirdJet [private] |
Definition at line 51 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMaxProbeJetEmFrac [private] |
Definition at line 65 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMaxTagJetAbsEta [private] |
Definition at line 67 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMaxTagJetEmFrac [private] |
Definition at line 66 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMaxTargetE [private] |
Definition at line 45 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMaxTrkEmE [private] |
Definition at line 49 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMinCellE [private] |
Definition at line 46 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMinDPhiDiJets [private] |
Definition at line 52 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMinEOverP [private] |
Definition at line 47 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMinProbeJetAbsEta [private] |
Definition at line 69 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMinTagJetEt [private] |
Definition at line 68 of file HcalCalibrator.h.
Referenced by endJob().
double HcalCalibrator::mMinTargetE [private] |
Definition at line 44 of file HcalCalibrator.h.
Referenced by endJob().
std::string HcalCalibrator::mOutputCorCoefFileName [private] |
Definition at line 75 of file HcalCalibrator.h.
Referenced by endJob().
std::string HcalCalibrator::mOutputFile [private] |
Definition at line 39 of file HcalCalibrator.h.
std::string HcalCalibrator::mPhiSymCorFileName [private] |
Definition at line 72 of file HcalCalibrator.h.
Referenced by endJob().
bool HcalCalibrator::mSumDepths [private] |
Definition at line 53 of file HcalCalibrator.h.
Referenced by endJob().
bool HcalCalibrator::mSumSmallDepths [private] |
Definition at line 54 of file HcalCalibrator.h.
Referenced by endJob().
const CaloGeometry* HcalCalibrator::mTheCaloGeometry [private] |
Definition at line 79 of file HcalCalibrator.h.
bool HcalCalibrator::mUseConeClustering [private] |
Definition at line 59 of file HcalCalibrator.h.
Referenced by endJob().