CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
hcalCalib Class Reference

#include <hcalCalib.h>

Inheritance diagram for hcalCalib:

Public Member Functions

void Begin (TTree *tree) override
 
void GetCoefFromMtrxInvOfAve ()
 
Int_t GetEntry (Long64_t entry, Int_t getall=0) override
 
TList * GetOutputList () const override
 
 hcalCalib (TTree *=nullptr)
 
void Init (TTree *tree) override
 
void makeTextFile ()
 
Bool_t Notify () override
 
Bool_t Process (Long64_t entry) override
 
Bool_t ReadPhiSymCor ()
 
void SetApplyPhiSymCorFlag (Bool_t b)
 
void SetCalibAbsIEtaMax (Int_t i)
 
void SetCalibAbsIEtaMin (Int_t i)
 
void SetCalibMethod (const TString &s)
 
void SetCalibType (const TString &s)
 
void SetCaloGeometry (const CaloGeometry *g, const HcalTopology *topo)
 
void SetCombinePhiFlag (Bool_t b)
 
void SetConeMaxDist (Float_t d)
 
void SetHbClusterSize (Int_t i)
 
void SetHeClusterSize (Int_t i)
 
void SetHistoFileName (const TString &filename)
 
void SetInputList (TList *input) override
 
void SetMaxEOverP (Float_t e)
 
void SetMaxEtThirdJet (Float_t et)
 
void SetMaxProbeJetEmFrac (Float_t f)
 
void SetMaxTagJetAbsEta (Float_t e)
 
void SetMaxTagJetEmFrac (Float_t f)
 
void SetMaxTargetE (Float_t e)
 
void SetMaxTrkEmE (Float_t e)
 
void SetMinCellE (Float_t e)
 
void SetMinDPhiDiJets (Float_t dphi)
 
void SetMinEOverP (Float_t e)
 
void SetMinProbeJetAbsEta (Float_t e)
 
void SetMinTagJetEt (Float_t e)
 
void SetMinTargetE (Float_t e)
 
void SetObject (TObject *obj) override
 
void SetOption (const char *option) override
 
void SetOutputCorCoefFileName (const TString &filename)
 
void SetPhiSymCorFileName (const TString &filename)
 
void SetSumDepthsFlag (Bool_t b)
 
void SetSumSmallDepthsFlag (Bool_t b)
 
void SetUseConeClustering (Bool_t b)
 
void Terminate () override
 
Int_t Version () const override
 
 ~hcalCalib () override
 

Public Attributes

Bool_t APPLY_PHI_SYM_COR_FLAG
 
TBranch * b_cells
 
TBranch * b_emEnergy
 
TBranch * b_etVetoJet
 
TBranch * b_eventNumber
 
TBranch * b_iEtaHit
 
TBranch * b_iPhiHit
 
TBranch * b_probeJetEmFrac
 
TBranch * b_probeJetP4
 
TBranch * b_runNumber
 
TBranch * b_tagJetEmFrac
 
TBranch * b_tagJetP4
 
TBranch * b_targetE
 
TBranch * b_xTrkEcal
 
TBranch * b_xTrkHcal
 
TBranch * b_yTrkEcal
 
TBranch * b_yTrkHcal
 
TBranch * b_zTrkEcal
 
TBranch * b_zTrkHcal
 
Int_t CALIB_ABS_IETA_MAX
 
Int_t CALIB_ABS_IETA_MIN
 
TString CALIB_METHOD
 
TString CALIB_TYPE
 
std::vector< std::vector< Float_t > > cellEnergies
 
std::vector< std::vector< UInt_t > > cellIds
 
TClonesArray * cells
 
Bool_t COMBINE_PHI
 
Float_t emEnergy
 
Float_t etVetoJet
 
UInt_t eventNumber
 pointer to the analyzed TTree or TChain More...
 
TTree * fChain
 
Int_t HB_CLUSTER_SIZE
 
Int_t HE_CLUSTER_SIZE
 
TString HISTO_FILENAME
 
std::map< Int_t, Float_t > iEtaCoefMap
 
Int_t iEtaHit
 
UInt_t iPhiHit
 
Float_t MAX_CONE_DIST
 
Float_t MAX_EOVERP
 
Float_t MAX_ET_THIRD_JET
 
Float_t MAX_PROBEJET_EMFRAC
 
Float_t MAX_TAGJET_ABSETA
 
Float_t MAX_TAGJET_EMFRAC
 
Float_t MAX_TARGET_E
 
Float_t MAX_TRK_EME
 
Float_t MIN_CELL_E
 
Float_t MIN_DPHI_DIJETS
 
Float_t MIN_EOVERP
 
Float_t MIN_PROBEJET_ABSETA
 
Float_t MIN_TAGJET_ET
 
Float_t MIN_TARGET_E
 
TString OUTPUT_COR_COEF_FILENAME
 
TString PHI_SYM_COR_FILENAME
 
std::map< UInt_t, Float_t > phiSymCor
 
Float_t probeJetEmFrac
 
TLorentzVector * probeJetP4
 
std::vector< std::pair< Int_t, UInt_t > > refIEtaIPhi
 
UInt_t runNumber
 
std::map< UInt_t, Float_t > solution
 
Bool_t SUM_DEPTHS
 
Bool_t SUM_SMALL_DEPTHS
 
Float_t tagJetEmFrac
 
TLorentzVector * tagJetP4
 
Float_t targetE
 
std::vector< Float_t > targetEnergies
 
const CaloGeometrytheCaloGeometry
 
const HcalTopologytopo_
 
Bool_t USE_CONE_CLUSTERING
 
Float_t xTrkEcal
 
Float_t xTrkHcal
 
Float_t yTrkEcal
 
Float_t yTrkHcal
 
Float_t zTrkEcal
 
Float_t zTrkHcal
 

Detailed Description

Definition at line 38 of file hcalCalib.h.

Constructor & Destructor Documentation

◆ hcalCalib()

hcalCalib::hcalCalib ( TTree *  = nullptr)
inline

Definition at line 87 of file hcalCalib.h.

87 {}

◆ ~hcalCalib()

hcalCalib::~hcalCalib ( )
inlineoverride

Definition at line 88 of file hcalCalib.h.

88 {}

Member Function Documentation

◆ Begin()

void hcalCalib::Begin ( TTree *  tree)
override

Definition at line 66 of file hcalCalib.cc.

66  {
67  TString option = GetOption();
68 
69  nEvents = 0;
70 
72  edm::LogError("HcalCalib") << "\nERROR: Failed to read the phi symmetry corrections.\n"
73  << "Check if the filename is correct. If the corrections are not needed, set the "
74  "corresponding flag to \"false\"\n"
75  << "\nThe program will be terminated\n";
76 
77  exit(1);
78  }
79 
80  // cellEnergies.reserve(1000000);
81  // cellIds.reserve(1000000);
82  // targetEnergies.reserve(1000000);
83 
84  histoFile = new TFile(HISTO_FILENAME.Data(), "RECREATE");
85 
86  h1_trkP = new TH1F("h1_trkP", "Track momenta; p_{trk} (GeV); Number of tracks", 100, 0, 200);
87  h1_allTrkP = new TH1F("h1_allTrkP", "Track momenta - all tracks; p_{trk} (GeV); Number of tracks", 100, 0, 200);
88 
89  h1_selTrkP_iEta10 = new TH1F(
90  "h1_selTrkP_iEta10", "Track momenta - tracks with |iEta|<10; p_{trk} (GeV); Number of tracks", 100, 0, 200);
91 
92  if (CALIB_TYPE == "ISO_TRACK")
93  h1_rawSumE = new TH1F("h1_rawSumE", "Cluster Energy; E_{cl} (GeV); Number of tracks", 100, 0, 200);
94  else
95  h1_rawSumE = new TH1F("h1_rawSumE", "Cluster Energy; E_{cl} (GeV); Number of tracks", 1000, 0, 2000);
96 
97  h1_rawResp = new TH1F("h1_rawResp", "Uncorrected response: |iEta|<24; E_{had}/p; Number of tracks", 300, 0, 3);
98  h1_corResp = new TH1F("h1_corResp", "Corrected response: |iEta|<24; E_{had}/p; Number of tracks", 300, 0, 3);
99 
101  new TH1F("h1_rawRespBarrel", "Uncorrected response: |iEta|<15; E_{had}/p; Number of tracks", 300, 0, 3);
103  new TH1F("h1_corRespBarrel", "Corrected response: |iEta|<15; E_{had}/p; Number of tracks", 300, 0, 3);
104 
106  new TH1F("h1_rawRespEndcap", "Uncorrected response: 17<|iEta|<24; E_{had}/p; Number of tracks", 300, 0, 3);
108  new TH1F("h1_corRespEndcap", "Corrected response: 17<|iEta|<24; E_{had}/p; Number of tracks", 300, 0, 3);
109 
110  h1_numEventsTwrIEta = new TH1F("h1_numEventsTwrIEta", "h1_numEventsTwrIEta", 80, -40, 40);
111 
112  h2_dHitRefBarrel = new TH2F("h2_dHitRefBarrel",
113  "{#Delta}i{#phi} vs {#Delta}i{#eta} of hit and most energetic "
114  "tower(|i{#eta}|<16);{#Delta}i{#eta}; {#Delta}i{#phi}",
115  10,
116  -5,
117  5,
118  10,
119  -5,
120  5);
121  h2_dHitRefEndcap = new TH2F("h2_dHitRefEndcap",
122  "{#Delta}i{#phi} vs {#Delta}i{#eta} of hit and most energetic tower (16<|i{#eta}|<25) "
123  ";{#Delta}i{#eta}; {#Delta}i{#phi}",
124  10,
125  -5,
126  5,
127  10,
128  -5,
129  5);
130 
131  TString histoName = "isoTrack_";
132 
133  for (Int_t i = 0; i < 48; ++i) {
134  Long_t iEta;
135  if (i < 24)
136  iEta = i - 24;
137  else
138  iEta = i - 23;
139  TString hn = histoName + iEta;
140  h1_corRespIEta[i] = new TH1F(hn, hn, 300, 0, 3.0);
141  }
142 
143 } // end of Begin()

References APPLY_PHI_SYM_COR_FLAG, CALIB_TYPE, beamvalidation::exit(), h1_allTrkP, h1_corResp, h1_corRespBarrel, h1_corRespEndcap, h1_corRespIEta, h1_numEventsTwrIEta, h1_rawResp, h1_rawRespBarrel, h1_rawRespEndcap, h1_rawSumE, h1_selTrkP_iEta10, h1_trkP, h2_dHitRefBarrel, h2_dHitRefEndcap, HISTO_FILENAME, histoFile, HltBtagPostValidation_cff::histoName, mps_fire::i, L1TowerCalibrationProducer_cfi::iEta, nEvents, fileinputsource_cfi::option, and ReadPhiSymCor().

◆ GetCoefFromMtrxInvOfAve()

void hcalCalib::GetCoefFromMtrxInvOfAve ( )

Definition at line 509 of file hcalCalib.cc.

509  {
510  // these maps are keyed by iEta
511  std::map<Int_t, Float_t> aveTargetE;
512  std::map<Int_t, Int_t> nEntries; // count hits
513 
514  // iEtaRef iEtaCell, energy
515  std::map<Int_t, std::map<Int_t, Float_t> > aveHitE; // add energies in the loop, normalize after that
516 
517  for (unsigned int i = 0; i < cellEnergies.size(); ++i) {
518  Int_t iEtaRef = refIEtaIPhi[i].first;
519  aveTargetE[iEtaRef] += targetEnergies[i];
520  nEntries[iEtaRef]++;
521 
522  // for hybrid method: matrix inv of averages preceeded by L3
523  if (CALIB_METHOD == "L3_AND_MTRX_INV") {
524  for (unsigned int j = 0; j < (cellEnergies[i]).size(); ++j) {
525  aveHitE[iEtaRef][HcalDetId(cellIds[i][j]).ieta()] += (solution[cellIds[i][j]] * cellEnergies[i][j]);
526  }
527  } else if (CALIB_METHOD == "MATRIX_INV_OF_ETA_AVE") {
528  for (unsigned int j = 0; j < (cellEnergies[i]).size(); ++j) {
529  aveHitE[iEtaRef][HcalDetId(cellIds[i][j]).ieta()] += cellEnergies[i][j];
530  }
531  }
532 
533  } // end of loop of entries
534 
535  // scale by number of entries to get the averages
536  Float_t norm = 1.0;
537  for (std::map<Int_t, Float_t>::iterator m_it = aveTargetE.begin(); m_it != aveTargetE.end(); ++m_it) {
538  Int_t iEta = m_it->first;
539  norm = (nEntries[iEta] > 0) ? 1.0 / (nEntries[iEta]) : 1.0;
540  aveTargetE[iEta] *= norm;
541 
542  std::map<Int_t, Float_t>::iterator n_it = (aveHitE[iEta]).begin();
543 
544  Float_t sumRawE = 0;
545  for (; n_it != (aveHitE[iEta]).end(); ++n_it) {
546  (n_it->second) *= norm;
547  sumRawE += (n_it->second);
548  }
549 
550  } // end of scaling by number of entries
551 
552  Int_t ONE_SIDE_IETA_RANGE = CALIB_ABS_IETA_MAX - CALIB_ABS_IETA_MIN + 1;
553 
554  // conversion from iEta to index for the linear system
555  // contains elements only in the valid range for *matrix inversion*
556  std::vector<Int_t> iEtaList;
557 
558  for (Int_t i = -CALIB_ABS_IETA_MAX; i <= CALIB_ABS_IETA_MAX; ++i) {
559  if (abs(i) < CALIB_ABS_IETA_MIN)
560  continue;
561  iEtaList.push_back(i);
562  }
563 
564  TMatrixD A(2 * ONE_SIDE_IETA_RANGE, 2 * ONE_SIDE_IETA_RANGE);
565  TMatrixD b(2 * ONE_SIDE_IETA_RANGE, 1);
566  TMatrixD x(2 * ONE_SIDE_IETA_RANGE, 1);
567 
568  for (Int_t i = 0; i < 2 * ONE_SIDE_IETA_RANGE; ++i) {
569  for (Int_t j = 0; j < 2 * ONE_SIDE_IETA_RANGE; ++j) {
570  A(i, j) = 0.0;
571  }
572  }
573 
574  for (UInt_t i = 0; i < iEtaList.size(); ++i) {
575  b(i, 0) = aveTargetE[iEtaList[i]];
576 
577  std::map<Int_t, Float_t>::iterator n_it = aveHitE[iEtaList[i]].begin();
578  for (; n_it != aveHitE[iEtaList[i]].end(); ++n_it) {
579  if (fabs(n_it->first) > CALIB_ABS_IETA_MAX || fabs(n_it->first) < CALIB_ABS_IETA_MIN)
580  continue;
581  Int_t j = Int_t(find(iEtaList.begin(), iEtaList.end(), n_it->first) - iEtaList.begin());
582  A(i, j) = n_it->second;
583  }
584  }
585 
586  TMatrixD coef = b;
587  TDecompQRH qrh(A);
588  Bool_t hasSolution = qrh.MultiSolve(coef);
589 
590  if (hasSolution && (CALIB_METHOD == "L3_AND_MTRX_INV" || CALIB_METHOD == "MATRIX_INV_OF_ETA_AVE")) {
591  for (UInt_t i = 0; i < iEtaList.size(); ++i) {
592  iEtaCoefMap[iEtaList[i]] = coef(i, 0);
593  }
594  }
595 }

References MaterialEffects_cfi::A, funct::abs(), b, CALIB_ABS_IETA_MAX, CALIB_ABS_IETA_MIN, CALIB_METHOD, cellEnergies, cellIds, mps_fire::end, spr::find(), mps_fire::i, L1TowerCalibrationProducer_cfi::iEta, HcalDetId::ieta(), iEtaCoefMap, dqmiolumiharvest::j, refIEtaIPhi, findQualityFiles::size, solution, targetEnergies, and x.

Referenced by Terminate().

◆ GetEntry()

Int_t hcalCalib::GetEntry ( Long64_t  entry,
Int_t  getall = 0 
)
inlineoverride

Definition at line 95 of file hcalCalib.h.

95  {
96  return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0;
97  }

References mps_splice::entry, and fChain.

Referenced by Process().

◆ GetOutputList()

TList* hcalCalib::GetOutputList ( ) const
inlineoverride

Definition at line 101 of file hcalCalib.h.

101 { return fOutput; }

◆ Init()

void hcalCalib::Init ( TTree *  tree)
override

◆ makeTextFile()

void hcalCalib::makeTextFile ( )

Definition at line 660 of file hcalCalib.cc.

660  {
661  //{ HcalEmpty=0, HcalBarrel=1, HcalEndcap=2, HcalOuter=3, HcalForward=4, HcalTriggerTower=5, HcalOther=7 };
662 
663  TString sdName[8] = {"EMPTY", "HB", "HE", "HO", "HF", "TRITWR", "UNDEF", "OTHER"};
664 
665  FILE* constFile = fopen(OUTPUT_COR_COEF_FILENAME.Data(), "w+");
666 
667  // header of the constants file
668  fprintf(constFile, "%1s%16s%16s%16s%16s%9s%11s\n", "#", "eta", "phi", "depth", "det", "value", "DetId");
669 
670  // Order loops to produce sequence of constants as for phi symmetry
671 
672  for (Int_t sd = 1; sd <= 4; sd++) {
673  for (Int_t e = 1; e <= 50; e++) {
674  Int_t eta;
675 
676  for (Int_t side = 0; side < 2; side++) {
677  eta = (side == 0) ? -e : e; //ta *= (-1);
678 
679  for (Int_t phi = 1; phi <= 72; phi++) {
680  for (Int_t d = 1; d < 5; d++) {
682  continue;
684  Float_t corrFactor = 1.0;
685 
687  // if (abs(eta)>=CALIB_ABS_IETA_MIN && abs(eta)<=22 && HcalSubdetector(sd)!=HcalOuter) {
688 
689  // need some care when depths were summed for iEta=16 =>
690  // the coeficients are saved in depth 1 of HB: affects
691  Int_t subdetInd = sd;
692 
693  if (abs(eta) == 16 && HcalSubdetector(sd) == HcalEndcap && SUM_DEPTHS) {
694  subdetInd = 1;
695  }
696 
697  if (CALIB_METHOD == "L3" || CALIB_METHOD == "L3_AND_MTRX_INV") {
698  if (SUM_DEPTHS && COMBINE_PHI)
699  corrFactor = solution[HcalDetId(HcalSubdetector(subdetInd), eta, 1, 1)];
700  else if (SUM_DEPTHS)
701  corrFactor = solution[HcalDetId(HcalSubdetector(subdetInd), eta, phi, 1)];
702  else if (COMBINE_PHI)
703  corrFactor = solution[HcalDetId(HcalSubdetector(sd), eta, 1, d)];
704  else
705  corrFactor = solution[HcalDetId(HcalSubdetector(sd), eta, phi, d)];
706 
707  // Remark: a new case was added (sumSmallDepths) where the first two depths in towers 15,16
708  // are summed and stored in depth 1.
709  // For now we create the correction coef for depth 2 (set equal to depth 1)
710  // after the call to the L3 minimizer so that this case is also handled without modifying the
711  // logic above. Probably it is better to move it here?
712 
713  } // L3
714 
715  else if (CALIB_METHOD == "MATRIX_INV_OF_ETA_AVE") {
716  corrFactor = iEtaCoefMap[eta];
717  }
718 
719  else if (CALIB_METHOD == "ISO_TRK_PHI_SYM") {
720  corrFactor = solution[HcalDetId(HcalSubdetector(sd), eta, phi, d)];
721  }
722 
723  } // if within the calibration range
724 
725  fprintf(constFile, "%17i%16i%16i%16s%9.5f%11X\n", eta, phi, d, sdName[sd].Data(), corrFactor, id.rawId());
726  }
727  }
728  }
729  }
730  }
731 
732  return;
733 }

References funct::abs(), CALIB_ABS_IETA_MAX, CALIB_ABS_IETA_MIN, CALIB_METHOD, COMBINE_PHI, ztail::d, MillePedeFileConverter_cfg::e, PVValHelper::eta, HcalEndcap, HcalOuter, triggerObjects_cff::id, iEtaCoefMap, OUTPUT_COR_COEF_FILENAME, phi, sd, solution, SUM_DEPTHS, topo_, and HcalTopology::valid().

Referenced by Terminate().

◆ Notify()

Bool_t hcalCalib::Notify ( )
override

◆ Process()

Bool_t hcalCalib::Process ( Long64_t  entry)
override

Definition at line 149 of file hcalCalib.cc.

149  {
150  // fChain->GetTree()->GetEntry(entry);
151  GetEntry(entry);
152 
153  std::set<UInt_t> uniqueIds; // for testing: check if there are duplicate cells (AA)
154 
155  Bool_t acceptEvent = kTRUE;
156 
157  ++nEvents;
158 
159  if (!(nEvents % 100000))
160  edm::LogVerbatim("HcalCalib") << "event: " << nEvents;
161 
162  h1_allTrkP->Fill(targetE);
163 
164  if (targetE < MIN_TARGET_E || targetE > MAX_TARGET_E)
165  return kFALSE;
166  ;
167 
168  // make local copy as the cells may be modified due to phi/depth sum, phi corrections etc
169  std::vector<TCell> selectCells;
170 
171  if (cells->GetSize() == 0)
172  return kFALSE;
173 
174  if (CALIB_TYPE == "DI_JET" && probeJetEmFrac > 0.999)
175  return kTRUE;
176 
177  for (Int_t i = 0; i < cells->GetSize(); ++i) {
178  TCell* thisCell = (TCell*)cells->At(i);
179 
180  if (HcalDetId(thisCell->id()).subdet() == HcalOuter)
181  continue; // reject HO, make a switch!
182 
183  if (HcalDetId(thisCell->id()).subdet() != HcalBarrel && HcalDetId(thisCell->id()).subdet() != HcalEndcap &&
184  HcalDetId(thisCell->id()).subdet() != HcalForward) {
185  edm::LogWarning("HcalCalib") << "Unknown or wrong hcal subdetector: " << HcalDetId(thisCell->id()).subdet();
186  }
187 
188  // Apply phi symmetry corrections if the flag is set
190  thisCell->SetE(phiSymCor[thisCell->id()] * thisCell->e());
191 
192  if (thisCell->e() > MIN_CELL_E)
193  selectCells.push_back(*thisCell);
194  }
195 
196  if (selectCells.empty()) {
197  edm::LogWarning("HcalCalib") << "NO CELLS ABOVE THRESHOLD FOUND FOR TARGET!!!";
198  }
199 
200  if (SUM_DEPTHS)
201  sumDepths(selectCells);
202  else if (SUM_SMALL_DEPTHS)
203  sumSmallDepths(selectCells); // depth 1,2 in twrs 15,16
204 
205  // most energetic tower (IsoTracks) or centroid of probe jet (DiJets)
206  std::pair<Int_t, UInt_t> refPos;
207 
208  Int_t dEtaHitRef = 999;
209  Int_t dPhiHitRef = 999;
210 
211  if (CALIB_TYPE == "ISO_TRACK") {
212  Int_t iEtaMaxE; // filled by reference in getIEtaIPhiForHighestE
213  UInt_t iPhiMaxE; //
214 
215  getIEtaIPhiForHighestE(selectCells, iEtaMaxE, iPhiMaxE);
216 
217  dEtaHitRef = iEtaMaxE - iEtaHit;
218  dPhiHitRef = iPhiMaxE - iPhiHit;
219 
220  if (dPhiHitRef < -36)
221  dPhiHitRef += 72;
222  if (dPhiHitRef > 36)
223  dPhiHitRef -= 72;
224 
225  if (iEtaHit * iEtaMaxE < 0) {
226  if (dEtaHitRef < 0)
227  dEtaHitRef += 1;
228  if (dEtaHitRef > 0)
229  dEtaHitRef -= 1;
230  }
231 
232  if (abs(iEtaHit) < 16)
233  h2_dHitRefBarrel->Fill(dEtaHitRef, dPhiHitRef);
234  if (abs(iEtaHit) > 16 && abs(iEtaHit) < 25)
235  h2_dHitRefEndcap->Fill(dEtaHitRef, dPhiHitRef);
236 
237  // --------------------------------------------------
238  // Choice of cluster definition
239  //
240  // fixed size NxN clusters as specified in to config file
241  if (!USE_CONE_CLUSTERING) {
242  if (abs(iEtaMaxE) < 16 && HB_CLUSTER_SIZE == 3)
243  filterCells3x3(selectCells, iEtaMaxE, iPhiMaxE);
244  if (abs(iEtaMaxE) > 15 && HE_CLUSTER_SIZE == 3)
245  filterCells3x3(selectCells, iEtaMaxE, iPhiMaxE);
246 
247  if (abs(iEtaMaxE) < 16 && HB_CLUSTER_SIZE == 5)
248  filterCells5x5(selectCells, iEtaMaxE, iPhiMaxE);
249  if (abs(iEtaMaxE) > 15 && HE_CLUSTER_SIZE == 5)
250  filterCells5x5(selectCells, iEtaMaxE, iPhiMaxE);
251  } else {
252  // calculate distance at hcal surface
253  const GlobalPoint hitPositionHcal(xTrkHcal, yTrkHcal, zTrkHcal);
254  filterCellsInCone(selectCells, hitPositionHcal, MAX_CONE_DIST, theCaloGeometry);
255  }
256 
257  refPos.first = iEtaMaxE;
258  refPos.second = iPhiMaxE;
259 
260  } else if (CALIB_TYPE == "DI_JET") { // Apply selection cuts on DiJet events here
261 
263  acceptEvent = kFALSE;
264 
265  Float_t jetsDPhi = probeJetP4->DeltaPhi(*tagJetP4);
266  if (fabs(jetsDPhi * 180.0 / M_PI) < MIN_DPHI_DIJETS)
267  acceptEvent = kFALSE;
268 
270  acceptEvent = kFALSE;
271  if (fabs(probeJetP4->Eta()) < MIN_PROBEJET_ABSETA)
272  acceptEvent = kFALSE;
273  if (fabs(tagJetP4->Eta()) > MAX_TAGJET_ABSETA)
274  acceptEvent = kFALSE;
275  if (fabs(tagJetP4->Et()) < MIN_TAGJET_ET)
276  acceptEvent = kFALSE;
277 
278  if (acceptEvent) {
279  Int_t iEtaMaxE; // filled by reference in getIEtaIPhiForHighestE
280  UInt_t iPhiMaxE; //
281 
282  getIEtaIPhiForHighestE(selectCells, iEtaMaxE, iPhiMaxE);
283 
284  // The ref position for the jet is not used in the minimization at this time.
285  // It will be needed if we attempt to do matrix inversion: then the question is
286  // which value is better suited: the centroid of the jet or the hottest tower...
287 
288  // refPos.first = iEtaHit;
289  // refPos.second = iPhiHit;
290 
291  refPos.first = iEtaMaxE;
292  refPos.second = iPhiMaxE;
293 
294  if (abs(iEtaMaxE) > 40)
295  acceptEvent = kFALSE; // for testing : set as parameter (AA)
296  }
297  }
298 
299  if (COMBINE_PHI)
300  combinePhi(selectCells);
301 
302  // fill the containers for the minimization prcedures
303  std::vector<Float_t> energies;
304  std::vector<UInt_t> ids;
305 
306  for (std::vector<TCell>::iterator i_it = selectCells.begin(); i_it != selectCells.end(); ++i_it) {
307  // for testing : fill only unique id's
308 
309  if (uniqueIds.insert(i_it->id()).second) {
310  energies.push_back(i_it->e());
311  ids.push_back(i_it->id());
312  }
313  }
314 
315  if (CALIB_TYPE == "ISO_TRACK") {
316  if (accumulate(energies.begin(), energies.end(), 0.0) / targetE < MIN_EOVERP)
317  acceptEvent = kFALSE;
318  if (accumulate(energies.begin(), energies.end(), 0.0) / targetE > MAX_EOVERP)
319  acceptEvent = kFALSE;
320 
321  if (emEnergy > MAX_TRK_EME)
322  acceptEvent = kFALSE;
323 
324  if (abs(dEtaHitRef) > 1 || abs(dPhiHitRef) > 1)
325  acceptEvent = kFALSE;
326 
327  // Have to check if for |iEta|>20 (and neighboring region) the dPhiHitRef
328  // should be relaxed to 2. The neighboring towers have dPhi=2...
329  }
330 
331  h1_rawSumE->Fill(accumulate(energies.begin(), energies.end(), 0.0));
332 
333  // here we fill the information for the minimization procedure
334  if (acceptEvent) {
335  cellEnergies.push_back(energies);
336  cellIds.push_back(ids);
337  targetEnergies.push_back(targetE);
338  refIEtaIPhi.push_back(refPos);
339 
340  if (abs(refPos.first) <= 10)
341  h1_selTrkP_iEta10->Fill(targetE);
342  }
343 
344  // Clean up
345  energies.clear();
346  ids.clear();
347  selectCells.clear();
348 
349  return kTRUE;
350 }

References funct::abs(), APPLY_PHI_SYM_COR_FLAG, CALIB_TYPE, cellEnergies, cellIds, cells, COMBINE_PHI, combinePhi(), TCell::e(), emEnergy, mps_splice::entry, etVetoJet, filterCells3x3(), filterCells5x5(), filterCellsInCone(), GetEntry(), getIEtaIPhiForHighestE(), h1_allTrkP, h1_rawSumE, h1_selTrkP_iEta10, h2_dHitRefBarrel, h2_dHitRefEndcap, HB_CLUSTER_SIZE, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, HE_CLUSTER_SIZE, mps_fire::i, TCell::id(), iEtaHit, iPhiHit, M_PI, MAX_CONE_DIST, MAX_EOVERP, MAX_ET_THIRD_JET, MAX_PROBEJET_EMFRAC, MAX_TAGJET_ABSETA, MAX_TARGET_E, MAX_TRK_EME, MIN_CELL_E, MIN_DPHI_DIJETS, MIN_EOVERP, MIN_PROBEJET_ABSETA, MIN_TAGJET_ET, nEvents, phiSymCor, probeJetEmFrac, probeJetP4, refIEtaIPhi, edm::second(), TCell::SetE(), SUM_DEPTHS, SUM_SMALL_DEPTHS, sumDepths(), sumSmallDepths(), tagJetP4, targetE, targetEnergies, theCaloGeometry, USE_CONE_CLUSTERING, xTrkHcal, yTrkHcal, and zTrkHcal.

◆ ReadPhiSymCor()

Bool_t hcalCalib::ReadPhiSymCor ( )

Definition at line 597 of file hcalCalib.cc.

597  {
598  std::ifstream phiSymFile(PHI_SYM_COR_FILENAME.Data());
599 
600  if (!phiSymFile) {
601  edm::LogWarning("HcalCalib") << "\nERROR: Can not find file with phi symmetry constants \""
602  << PHI_SYM_COR_FILENAME.Data() << "\"";
603  return kFALSE;
604  }
605 
606  // assumes the format used in CSA08, first line is a comment
607 
608  Int_t iEta;
609  UInt_t iPhi;
610  UInt_t depth;
611  TString sdName;
612  UInt_t detId;
613 
614  Float_t value;
616 
618 
619  while (getline(phiSymFile, line)) {
620  if (line.empty() || line[0] == '#')
621  continue;
622 
623  std::istringstream linestream(line);
624  linestream >> iEta >> iPhi >> depth >> sdName >> value >> std::hex >> detId;
625 
626  if (sdName == "HB")
627  sd = HcalBarrel;
628  else if (sdName == "HE")
629  sd = HcalEndcap;
630  else if (sdName == "HO")
631  sd = HcalOuter;
632  else if (sdName == "HF")
633  sd = HcalForward;
634  else {
635  edm::LogWarning("HcalCalib") << "\nInvalid detector name in phi symmetry constants file: " << sdName.Data()
636  << "\nCheck file and rerun!\n";
637  return kFALSE;
638  }
639 
640  // check if the data is consistent
641 
642  if (HcalDetId(sd, iEta, iPhi, depth) != HcalDetId(detId)) {
643  edm::LogWarning("HcalCalib")
644  << "\nInconsistent info in phi symmetry file: subdet, iEta, iPhi, depth do not match rawId!\n";
645  return kFALSE;
646  }
647  HcalDetId hId(detId);
648  if (!topo_->valid(hId)) {
649  edm::LogWarning("HcalCalib") << "\nInvalid DetId from: iEta=" << iEta << " iPhi=" << iPhi << " depth=" << depth
650  << " subdet=" << sdName.Data() << " detId=" << detId << "\n";
651  return kFALSE;
652  }
653 
654  phiSymCor[HcalDetId(sd, iEta, iPhi, depth)] = value;
655  }
656 
657  return kTRUE;
658 }

References LEDCalibrationChannels::depth, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, L1TowerCalibrationProducer_cfi::iEta, mps_splice::line, PHI_SYM_COR_FILENAME, phiSymCor, sd, AlCaHLTBitMon_QueryRunRegistry::string, topo_, HcalTopology::valid(), and relativeConstraints::value.

Referenced by Begin().

◆ SetApplyPhiSymCorFlag()

void hcalCalib::SetApplyPhiSymCorFlag ( Bool_t  b)
inline

Definition at line 170 of file hcalCalib.h.

References APPLY_PHI_SYM_COR_FLAG, and b.

Referenced by HcalCalibrator::endJob().

◆ SetCalibAbsIEtaMax()

void hcalCalib::SetCalibAbsIEtaMax ( Int_t  i)
inline

Definition at line 166 of file hcalCalib.h.

166 { CALIB_ABS_IETA_MAX = i; }

References CALIB_ABS_IETA_MAX, and mps_fire::i.

Referenced by HcalCalibrator::endJob().

◆ SetCalibAbsIEtaMin()

void hcalCalib::SetCalibAbsIEtaMin ( Int_t  i)
inline

Definition at line 167 of file hcalCalib.h.

167 { CALIB_ABS_IETA_MIN = i; }

References CALIB_ABS_IETA_MIN, and mps_fire::i.

Referenced by HcalCalibrator::endJob().

◆ SetCalibMethod()

void hcalCalib::SetCalibMethod ( const TString &  s)
inline

Definition at line 159 of file hcalCalib.h.

159 { CALIB_METHOD = s; }

References CALIB_METHOD, and alignCSCRings::s.

Referenced by HcalCalibrator::endJob().

◆ SetCalibType()

void hcalCalib::SetCalibType ( const TString &  s)
inline

Definition at line 158 of file hcalCalib.h.

158 { CALIB_TYPE = s; }

References CALIB_TYPE, and alignCSCRings::s.

Referenced by HcalCalibrator::endJob().

◆ SetCaloGeometry()

void hcalCalib::SetCaloGeometry ( const CaloGeometry g,
const HcalTopology topo 
)
inline

Definition at line 180 of file hcalCalib.h.

180  {
181  theCaloGeometry = g;
182  topo_ = topo;
183  }

References g, theCaloGeometry, and topo_.

Referenced by HcalCalibrator::endJob().

◆ SetCombinePhiFlag()

void hcalCalib::SetCombinePhiFlag ( Bool_t  b)
inline

Definition at line 153 of file hcalCalib.h.

153 { COMBINE_PHI = b; }

References b, and COMBINE_PHI.

Referenced by HcalCalibrator::endJob().

◆ SetConeMaxDist()

void hcalCalib::SetConeMaxDist ( Float_t  d)
inline

Definition at line 164 of file hcalCalib.h.

164 { MAX_CONE_DIST = d; }

References ztail::d, and MAX_CONE_DIST.

Referenced by HcalCalibrator::endJob().

◆ SetHbClusterSize()

void hcalCalib::SetHbClusterSize ( Int_t  i)
inline

Definition at line 160 of file hcalCalib.h.

160 { HB_CLUSTER_SIZE = i; }

References HB_CLUSTER_SIZE, and mps_fire::i.

Referenced by HcalCalibrator::endJob().

◆ SetHeClusterSize()

void hcalCalib::SetHeClusterSize ( Int_t  i)
inline

Definition at line 161 of file hcalCalib.h.

161 { HE_CLUSTER_SIZE = i; }

References HE_CLUSTER_SIZE, and mps_fire::i.

Referenced by HcalCalibrator::endJob().

◆ SetHistoFileName()

void hcalCalib::SetHistoFileName ( const TString &  filename)
inline

Definition at line 178 of file hcalCalib.h.

References corrVsCorr::filename, and HISTO_FILENAME.

Referenced by HcalCalibrator::endJob().

◆ SetInputList()

void hcalCalib::SetInputList ( TList *  input)
inlineoverride

Definition at line 100 of file hcalCalib.h.

100 { fInput = input; }

References input.

◆ SetMaxEOverP()

void hcalCalib::SetMaxEOverP ( Float_t  e)
inline

Definition at line 156 of file hcalCalib.h.

156 { MAX_EOVERP = e; }

References MillePedeFileConverter_cfg::e, and MAX_EOVERP.

Referenced by HcalCalibrator::endJob().

◆ SetMaxEtThirdJet()

void hcalCalib::SetMaxEtThirdJet ( Float_t  et)
inline

Definition at line 168 of file hcalCalib.h.

168 { MAX_ET_THIRD_JET = et; }

References EgHLTOffHistBins_cfi::et, and MAX_ET_THIRD_JET.

Referenced by HcalCalibrator::endJob().

◆ SetMaxProbeJetEmFrac()

void hcalCalib::SetMaxProbeJetEmFrac ( Float_t  f)
inline

Definition at line 172 of file hcalCalib.h.

172 { MAX_PROBEJET_EMFRAC = f; }

References f, and MAX_PROBEJET_EMFRAC.

Referenced by HcalCalibrator::endJob().

◆ SetMaxTagJetAbsEta()

void hcalCalib::SetMaxTagJetAbsEta ( Float_t  e)
inline

Definition at line 174 of file hcalCalib.h.

174 { MAX_TAGJET_ABSETA = e; }

References MillePedeFileConverter_cfg::e, and MAX_TAGJET_ABSETA.

Referenced by HcalCalibrator::endJob().

◆ SetMaxTagJetEmFrac()

void hcalCalib::SetMaxTagJetEmFrac ( Float_t  f)
inline

Definition at line 173 of file hcalCalib.h.

173 { MAX_TAGJET_EMFRAC = f; }

References f, and MAX_TAGJET_EMFRAC.

Referenced by HcalCalibrator::endJob().

◆ SetMaxTargetE()

void hcalCalib::SetMaxTargetE ( Float_t  e)
inline

Definition at line 150 of file hcalCalib.h.

150 { MAX_TARGET_E = e; }

References MillePedeFileConverter_cfg::e, and MAX_TARGET_E.

Referenced by HcalCalibrator::endJob().

◆ SetMaxTrkEmE()

void hcalCalib::SetMaxTrkEmE ( Float_t  e)
inline

Definition at line 157 of file hcalCalib.h.

157 { MAX_TRK_EME = e; }

References MillePedeFileConverter_cfg::e, and MAX_TRK_EME.

Referenced by HcalCalibrator::endJob().

◆ SetMinCellE()

void hcalCalib::SetMinCellE ( Float_t  e)
inline

Definition at line 154 of file hcalCalib.h.

154 { MIN_CELL_E = e; }

References MillePedeFileConverter_cfg::e, and MIN_CELL_E.

Referenced by HcalCalibrator::endJob().

◆ SetMinDPhiDiJets()

void hcalCalib::SetMinDPhiDiJets ( Float_t  dphi)
inline

Definition at line 169 of file hcalCalib.h.

169 { MIN_DPHI_DIJETS = dphi; }

References MIN_DPHI_DIJETS.

Referenced by HcalCalibrator::endJob().

◆ SetMinEOverP()

void hcalCalib::SetMinEOverP ( Float_t  e)
inline

Definition at line 155 of file hcalCalib.h.

155 { MIN_EOVERP = e; }

References MillePedeFileConverter_cfg::e, and MIN_EOVERP.

Referenced by HcalCalibrator::endJob().

◆ SetMinProbeJetAbsEta()

void hcalCalib::SetMinProbeJetAbsEta ( Float_t  e)
inline

Definition at line 176 of file hcalCalib.h.

176 { MIN_PROBEJET_ABSETA = e; }

References MillePedeFileConverter_cfg::e, and MIN_PROBEJET_ABSETA.

Referenced by HcalCalibrator::endJob().

◆ SetMinTagJetEt()

void hcalCalib::SetMinTagJetEt ( Float_t  e)
inline

Definition at line 175 of file hcalCalib.h.

175 { MIN_TAGJET_ET = e; }

References MillePedeFileConverter_cfg::e, and MIN_TAGJET_ET.

Referenced by HcalCalibrator::endJob().

◆ SetMinTargetE()

void hcalCalib::SetMinTargetE ( Float_t  e)
inline

Definition at line 149 of file hcalCalib.h.

149 { MIN_TARGET_E = e; }

References MillePedeFileConverter_cfg::e, and MIN_TARGET_E.

Referenced by HcalCalibrator::endJob().

◆ SetObject()

void hcalCalib::SetObject ( TObject *  obj)
inlineoverride

Definition at line 99 of file hcalCalib.h.

99 { fObject = obj; }

References getGTfromDQMFile::obj.

◆ SetOption()

void hcalCalib::SetOption ( const char *  option)
inlineoverride

Definition at line 98 of file hcalCalib.h.

98 { fOption = option; }

References fileinputsource_cfi::option.

◆ SetOutputCorCoefFileName()

void hcalCalib::SetOutputCorCoefFileName ( const TString &  filename)
inline

Definition at line 177 of file hcalCalib.h.

References corrVsCorr::filename, and OUTPUT_COR_COEF_FILENAME.

Referenced by HcalCalibrator::endJob().

◆ SetPhiSymCorFileName()

void hcalCalib::SetPhiSymCorFileName ( const TString &  filename)
inline

Definition at line 171 of file hcalCalib.h.

References corrVsCorr::filename, and PHI_SYM_COR_FILENAME.

Referenced by HcalCalibrator::endJob().

◆ SetSumDepthsFlag()

void hcalCalib::SetSumDepthsFlag ( Bool_t  b)
inline

Definition at line 151 of file hcalCalib.h.

151 { SUM_DEPTHS = b; }

References b, and SUM_DEPTHS.

Referenced by HcalCalibrator::endJob().

◆ SetSumSmallDepthsFlag()

void hcalCalib::SetSumSmallDepthsFlag ( Bool_t  b)
inline

Definition at line 152 of file hcalCalib.h.

152 { SUM_SMALL_DEPTHS = b; }

References b, and SUM_SMALL_DEPTHS.

Referenced by HcalCalibrator::endJob().

◆ SetUseConeClustering()

void hcalCalib::SetUseConeClustering ( Bool_t  b)
inline

Definition at line 163 of file hcalCalib.h.

163 { USE_CONE_CLUSTERING = b; }

References b, and USE_CONE_CLUSTERING.

Referenced by HcalCalibrator::endJob().

◆ Terminate()

void hcalCalib::Terminate ( )
override

Definition at line 354 of file hcalCalib.cc.

354  {
355  edm::LogVerbatim("HcalCalib") << "\n\nFinished reading the events.\n"
356  << "Number of input objects: " << cellIds.size()
357  << "\nPerforming minimization: depending on selected method can take some time...\n\n";
358 
359  for (std::vector<std::pair<Int_t, UInt_t> >::iterator it_rp = refIEtaIPhi.begin(); it_rp != refIEtaIPhi.end();
360  ++it_rp) {
361  Float_t weight = (abs(it_rp->first) < 21) ? 1.0 / 72.0 : 1.0 / 36.0;
362  h1_numEventsTwrIEta->Fill(it_rp->first, weight);
363  }
364 
365  if (CALIB_METHOD == "MATRIX_INV_OF_ETA_AVE") {
367  } else if (CALIB_METHOD == "L3" || CALIB_METHOD == "L3_AND_MTRX_INV") {
368  int eventWeight = 2; // 2 is the default (try at some point 0,1,2,3)
369  MinL3AlgoUniv<UInt_t>* thisL3Algo = new MinL3AlgoUniv<UInt_t>(eventWeight);
370  int numIterations = 10; // default 10
371 
372  solution = thisL3Algo->iterate(cellEnergies, cellIds, targetEnergies, numIterations);
373 
374  // in order to handle the case where sumDepths="false", but the flag to sum depths 1,2 in HB towers 15, 16
375  // is set (sumSmallDepths) we create entries in "solution" to create equal correction here
376  // for each encountered coef in depth one.
377 
378  if (!SUM_DEPTHS && SUM_SMALL_DEPTHS) {
379  std::vector<UInt_t> idForSummedCells;
380 
381  for (std::map<UInt_t, Float_t>::iterator m_it = solution.begin(); m_it != solution.end(); ++m_it) {
382  if (HcalDetId(m_it->first).ietaAbs() != 15 && HcalDetId(m_it->first).ietaAbs() != 16)
383  continue;
384  if (HcalDetId(m_it->first).subdet() != HcalBarrel)
385  continue;
386  if (HcalDetId(m_it->first).depth() == 1)
387  idForSummedCells.push_back(HcalDetId(m_it->first));
388  }
389 
390  for (std::vector<UInt_t>::iterator v_it = idForSummedCells.begin(); v_it != idForSummedCells.end(); ++v_it) {
391  UInt_t addCoefId = HcalDetId(HcalBarrel, HcalDetId(*v_it).ieta(), HcalDetId(*v_it).iphi(), 2);
392  solution[addCoefId] = solution[*v_it];
393  }
394 
395  } // end of special treatment for "sumSmallDepths" mode
396 
397  if (CALIB_METHOD == "L3_AND_MTRX_INV") {
399 
400  // loop over the solution from L3 and multiply by the additional factor from
401  // the matrix inversion. Set coef outside of the valid calibration region =1.
402  for (std::map<UInt_t, Float_t>::iterator it_s = solution.begin(); it_s != solution.end(); ++it_s) {
403  Int_t iEtaSol = HcalDetId(it_s->first).ieta();
404  if (abs(iEtaSol) < CALIB_ABS_IETA_MIN || abs(iEtaSol) > CALIB_ABS_IETA_MAX)
405  it_s->second = 1.0;
406  else
407  it_s->second *= iEtaCoefMap[iEtaSol];
408  }
409 
410  } // if CALIB_METHOD=="L3_AND_MTRX_INV"
411 
412  } // end of L3 or L3 + mtrx inversion minimization
413 
414  // done getting the constants -> write the formatted file
415  makeTextFile();
416 
417  // fill some histograms
418  Float_t rawResp = 0;
419  Float_t corResp = 0;
420  Int_t maxIEta = 0;
421  Int_t minIEta = 999;
422 
423  for (unsigned int i = 0; i < cellEnergies.size(); ++i) {
424  Int_t iEta;
425  for (unsigned int j = 0; j < (cellEnergies[i]).size(); ++j) {
426  iEta = HcalDetId(cellIds[i][j]).ieta();
427  rawResp += (cellEnergies[i])[j];
428 
429  if (CALIB_METHOD == "L3_AND_MTRX_INV") {
430  corResp += (solution[cellIds[i][j]] * cellEnergies[i][j]);
431  } else if (CALIB_METHOD == "L3") {
432  corResp += (solution[cellIds[i][j]] * (cellEnergies[i][j]));
433  } else if (CALIB_METHOD == "MATRIX_INV_OF_ETA_AVE") {
434  corResp += (iEtaCoefMap[iEta] * cellEnergies[i][j]);
435  }
436 
437  if (maxIEta < abs(iEta))
438  maxIEta = abs(iEta);
439  if (minIEta > abs(iEta))
440  minIEta = abs(iEta);
441  }
442 
443  rawResp /= targetEnergies[i];
444  corResp /= targetEnergies[i];
445 
446  // fill histograms based on iEta on ref point of the cluster (for now: hottest tower)
447  // expect range |iEta|<=24 (to do: add flexibility for arbitrary range)
448 
449  if (CALIB_TYPE == "ISO_TRACK") {
450  Int_t ind = refIEtaIPhi[i].first;
451  (ind < 0) ? (ind += 24) : (ind += 23);
452  if (ind >= 0 && ind < 48) {
453  h1_corRespIEta[ind]->Fill(corResp);
454  }
455 
456  // fill histograms for cases where all towers are in the barrel or endcap
457  if (maxIEta < 25) {
458  h1_rawResp->Fill(rawResp);
459  h1_corResp->Fill(corResp);
460  }
461  if (maxIEta < 15) {
462  h1_rawRespBarrel->Fill(rawResp);
463  h1_corRespBarrel->Fill(corResp);
464  } else if (maxIEta < 25 && minIEta > 16) {
465  h1_rawRespEndcap->Fill(rawResp);
466  h1_corRespEndcap->Fill(corResp);
467  }
468  } // histograms for isotrack calibration
469 
470  else {
471  // put jet plots here
472  }
473 
474  rawResp = 0;
475  corResp = 0;
476  maxIEta = 0;
477  minIEta = 999;
478  }
479 
480  // save the histograms
481  h1_trkP->Write();
482  h1_allTrkP->Write();
483 
484  h1_selTrkP_iEta10->Write();
485 
486  h1_rawSumE->Write();
487  h1_rawResp->Write();
488  h1_corResp->Write();
489  h1_rawRespBarrel->Write();
490  h1_corRespBarrel->Write();
491  h1_rawRespEndcap->Write();
492  h1_corRespEndcap->Write();
493  h1_numEventsTwrIEta->Write();
494  h2_dHitRefBarrel->Write();
495  h2_dHitRefEndcap->Write();
496  for (Int_t i = 0; i < 48; ++i) {
497  h1_corRespIEta[i]->Write();
498  }
499 
500  histoFile->Write();
501  histoFile->Close();
502 
503  edm::LogVerbatim("HcalCalib") << "\n Finished calibration.\n ";
504 
505 } // end of Terminate()

References funct::abs(), CALIB_ABS_IETA_MAX, CALIB_ABS_IETA_MIN, CALIB_METHOD, CALIB_TYPE, cellEnergies, cellIds, HcalDetId::depth(), GetCoefFromMtrxInvOfAve(), h1_allTrkP, h1_corResp, h1_corRespBarrel, h1_corRespEndcap, h1_corRespIEta, h1_numEventsTwrIEta, h1_rawResp, h1_rawRespBarrel, h1_rawRespEndcap, h1_rawSumE, h1_selTrkP_iEta10, h1_trkP, h2_dHitRefBarrel, h2_dHitRefEndcap, HcalBarrel, histoFile, mps_fire::i, L1TowerCalibrationProducer_cfi::iEta, HcalDetId::ieta(), HcalDetId::ietaAbs(), iEtaCoefMap, HcalDetId::iphi(), MinL3AlgoUniv< IDdet >::iterate(), dqmiolumiharvest::j, makeTextFile(), refIEtaIPhi, findQualityFiles::size, solution, HcalDetId::subdet(), SUM_DEPTHS, SUM_SMALL_DEPTHS, targetEnergies, and trackerHitRTTI::vector.

◆ Version()

Int_t hcalCalib::Version ( ) const
inlineoverride

Definition at line 89 of file hcalCalib.h.

89 { return 2; }

Member Data Documentation

◆ APPLY_PHI_SYM_COR_FLAG

Bool_t hcalCalib::APPLY_PHI_SYM_COR_FLAG

Definition at line 141 of file hcalCalib.h.

Referenced by Begin(), Process(), and SetApplyPhiSymCorFlag().

◆ b_cells

TBranch* hcalCalib::b_cells

Definition at line 69 of file hcalCalib.h.

◆ b_emEnergy

TBranch* hcalCalib::b_emEnergy

Definition at line 70 of file hcalCalib.h.

◆ b_etVetoJet

TBranch* hcalCalib::b_etVetoJet

Definition at line 72 of file hcalCalib.h.

◆ b_eventNumber

TBranch* hcalCalib::b_eventNumber

Definition at line 65 of file hcalCalib.h.

◆ b_iEtaHit

TBranch* hcalCalib::b_iEtaHit

Definition at line 67 of file hcalCalib.h.

◆ b_iPhiHit

TBranch* hcalCalib::b_iPhiHit

Definition at line 68 of file hcalCalib.h.

◆ b_probeJetEmFrac

TBranch* hcalCalib::b_probeJetEmFrac

Definition at line 82 of file hcalCalib.h.

◆ b_probeJetP4

TBranch* hcalCalib::b_probeJetP4

Definition at line 85 of file hcalCalib.h.

◆ b_runNumber

TBranch* hcalCalib::b_runNumber

Definition at line 66 of file hcalCalib.h.

◆ b_tagJetEmFrac

TBranch* hcalCalib::b_tagJetEmFrac

Definition at line 81 of file hcalCalib.h.

◆ b_tagJetP4

TBranch* hcalCalib::b_tagJetP4

Definition at line 84 of file hcalCalib.h.

◆ b_targetE

TBranch* hcalCalib::b_targetE

Definition at line 71 of file hcalCalib.h.

◆ b_xTrkEcal

TBranch* hcalCalib::b_xTrkEcal

Definition at line 77 of file hcalCalib.h.

◆ b_xTrkHcal

TBranch* hcalCalib::b_xTrkHcal

Definition at line 74 of file hcalCalib.h.

◆ b_yTrkEcal

TBranch* hcalCalib::b_yTrkEcal

Definition at line 78 of file hcalCalib.h.

◆ b_yTrkHcal

TBranch* hcalCalib::b_yTrkHcal

Definition at line 75 of file hcalCalib.h.

◆ b_zTrkEcal

TBranch* hcalCalib::b_zTrkEcal

Definition at line 79 of file hcalCalib.h.

◆ b_zTrkHcal

TBranch* hcalCalib::b_zTrkHcal

Definition at line 76 of file hcalCalib.h.

◆ CALIB_ABS_IETA_MAX

Int_t hcalCalib::CALIB_ABS_IETA_MAX

Definition at line 127 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), makeTextFile(), SetCalibAbsIEtaMax(), and Terminate().

◆ CALIB_ABS_IETA_MIN

Int_t hcalCalib::CALIB_ABS_IETA_MIN

Definition at line 128 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), makeTextFile(), SetCalibAbsIEtaMin(), and Terminate().

◆ CALIB_METHOD

TString hcalCalib::CALIB_METHOD

Definition at line 138 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), makeTextFile(), SetCalibMethod(), and Terminate().

◆ CALIB_TYPE

TString hcalCalib::CALIB_TYPE

Definition at line 137 of file hcalCalib.h.

Referenced by Begin(), Process(), SetCalibType(), and Terminate().

◆ cellEnergies

std::vector<std::vector<Float_t> > hcalCalib::cellEnergies

Definition at line 192 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), Process(), and Terminate().

◆ cellIds

std::vector<std::vector<UInt_t> > hcalCalib::cellIds

Definition at line 193 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), Process(), and Terminate().

◆ cells

TClonesArray* hcalCalib::cells

Definition at line 46 of file hcalCalib.h.

Referenced by Process().

◆ COMBINE_PHI

Bool_t hcalCalib::COMBINE_PHI

Definition at line 119 of file hcalCalib.h.

Referenced by makeTextFile(), Process(), and SetCombinePhiFlag().

◆ emEnergy

Float_t hcalCalib::emEnergy

Definition at line 47 of file hcalCalib.h.

Referenced by Process().

◆ etVetoJet

Float_t hcalCalib::etVetoJet

Definition at line 49 of file hcalCalib.h.

Referenced by Process().

◆ eventNumber

UInt_t hcalCalib::eventNumber

pointer to the analyzed TTree or TChain

Definition at line 42 of file hcalCalib.h.

◆ fChain

TTree* hcalCalib::fChain

Definition at line 40 of file hcalCalib.h.

Referenced by GetEntry().

◆ HB_CLUSTER_SIZE

Int_t hcalCalib::HB_CLUSTER_SIZE

Definition at line 121 of file hcalCalib.h.

Referenced by Process(), and SetHbClusterSize().

◆ HE_CLUSTER_SIZE

Int_t hcalCalib::HE_CLUSTER_SIZE

Definition at line 122 of file hcalCalib.h.

Referenced by Process(), and SetHeClusterSize().

◆ HISTO_FILENAME

TString hcalCalib::HISTO_FILENAME

Definition at line 144 of file hcalCalib.h.

Referenced by Begin(), and SetHistoFileName().

◆ iEtaCoefMap

std::map<Int_t, Float_t> hcalCalib::iEtaCoefMap

Definition at line 201 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), makeTextFile(), and Terminate().

◆ iEtaHit

Int_t hcalCalib::iEtaHit

Definition at line 44 of file hcalCalib.h.

Referenced by Process().

◆ iPhiHit

UInt_t hcalCalib::iPhiHit

Definition at line 45 of file hcalCalib.h.

Referenced by Process().

◆ MAX_CONE_DIST

Float_t hcalCalib::MAX_CONE_DIST

Definition at line 125 of file hcalCalib.h.

Referenced by Process(), and SetConeMaxDist().

◆ MAX_EOVERP

Float_t hcalCalib::MAX_EOVERP

Definition at line 111 of file hcalCalib.h.

Referenced by Process(), and SetMaxEOverP().

◆ MAX_ET_THIRD_JET

Float_t hcalCalib::MAX_ET_THIRD_JET

Definition at line 114 of file hcalCalib.h.

Referenced by Process(), and SetMaxEtThirdJet().

◆ MAX_PROBEJET_EMFRAC

Float_t hcalCalib::MAX_PROBEJET_EMFRAC

Definition at line 130 of file hcalCalib.h.

Referenced by Process(), and SetMaxProbeJetEmFrac().

◆ MAX_TAGJET_ABSETA

Float_t hcalCalib::MAX_TAGJET_ABSETA

Definition at line 132 of file hcalCalib.h.

Referenced by Process(), and SetMaxTagJetAbsEta().

◆ MAX_TAGJET_EMFRAC

Float_t hcalCalib::MAX_TAGJET_EMFRAC

Definition at line 131 of file hcalCalib.h.

Referenced by SetMaxTagJetEmFrac().

◆ MAX_TARGET_E

Float_t hcalCalib::MAX_TARGET_E

Definition at line 107 of file hcalCalib.h.

Referenced by Process(), and SetMaxTargetE().

◆ MAX_TRK_EME

Float_t hcalCalib::MAX_TRK_EME

Definition at line 112 of file hcalCalib.h.

Referenced by Process(), and SetMaxTrkEmE().

◆ MIN_CELL_E

Float_t hcalCalib::MIN_CELL_E

Definition at line 109 of file hcalCalib.h.

Referenced by Process(), and SetMinCellE().

◆ MIN_DPHI_DIJETS

Float_t hcalCalib::MIN_DPHI_DIJETS

Definition at line 115 of file hcalCalib.h.

Referenced by Process(), and SetMinDPhiDiJets().

◆ MIN_EOVERP

Float_t hcalCalib::MIN_EOVERP

Definition at line 110 of file hcalCalib.h.

Referenced by Process(), and SetMinEOverP().

◆ MIN_PROBEJET_ABSETA

Float_t hcalCalib::MIN_PROBEJET_ABSETA

Definition at line 135 of file hcalCalib.h.

Referenced by Process(), and SetMinProbeJetAbsEta().

◆ MIN_TAGJET_ET

Float_t hcalCalib::MIN_TAGJET_ET

Definition at line 133 of file hcalCalib.h.

Referenced by Process(), and SetMinTagJetEt().

◆ MIN_TARGET_E

Float_t hcalCalib::MIN_TARGET_E

Definition at line 106 of file hcalCalib.h.

Referenced by SetMinTargetE().

◆ OUTPUT_COR_COEF_FILENAME

TString hcalCalib::OUTPUT_COR_COEF_FILENAME

Definition at line 143 of file hcalCalib.h.

Referenced by makeTextFile(), and SetOutputCorCoefFileName().

◆ PHI_SYM_COR_FILENAME

TString hcalCalib::PHI_SYM_COR_FILENAME

Definition at line 140 of file hcalCalib.h.

Referenced by ReadPhiSymCor(), and SetPhiSymCorFileName().

◆ phiSymCor

std::map<UInt_t, Float_t> hcalCalib::phiSymCor

Definition at line 197 of file hcalCalib.h.

Referenced by Process(), and ReadPhiSymCor().

◆ probeJetEmFrac

Float_t hcalCalib::probeJetEmFrac

Definition at line 62 of file hcalCalib.h.

Referenced by Process().

◆ probeJetP4

TLorentzVector* hcalCalib::probeJetP4

Definition at line 59 of file hcalCalib.h.

Referenced by Process().

◆ refIEtaIPhi

std::vector<std::pair<Int_t, UInt_t> > hcalCalib::refIEtaIPhi

Definition at line 194 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), Process(), and Terminate().

◆ runNumber

UInt_t hcalCalib::runNumber

Definition at line 43 of file hcalCalib.h.

Referenced by TH2PolyOfflineMaps.TH2PolyOfflineMaps::PrintTrackerMaps().

◆ solution

std::map<UInt_t, Float_t> hcalCalib::solution

Definition at line 199 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), makeTextFile(), and Terminate().

◆ SUM_DEPTHS

Bool_t hcalCalib::SUM_DEPTHS

Definition at line 117 of file hcalCalib.h.

Referenced by makeTextFile(), Process(), SetSumDepthsFlag(), and Terminate().

◆ SUM_SMALL_DEPTHS

Bool_t hcalCalib::SUM_SMALL_DEPTHS

Definition at line 118 of file hcalCalib.h.

Referenced by Process(), SetSumSmallDepthsFlag(), and Terminate().

◆ tagJetEmFrac

Float_t hcalCalib::tagJetEmFrac

Definition at line 61 of file hcalCalib.h.

◆ tagJetP4

TLorentzVector* hcalCalib::tagJetP4

Definition at line 58 of file hcalCalib.h.

Referenced by Process().

◆ targetE

Float_t hcalCalib::targetE

Definition at line 48 of file hcalCalib.h.

Referenced by Process().

◆ targetEnergies

std::vector<Float_t> hcalCalib::targetEnergies

Definition at line 195 of file hcalCalib.h.

Referenced by GetCoefFromMtrxInvOfAve(), Process(), and Terminate().

◆ theCaloGeometry

const CaloGeometry* hcalCalib::theCaloGeometry

Definition at line 146 of file hcalCalib.h.

Referenced by Process(), and SetCaloGeometry().

◆ topo_

const HcalTopology* hcalCalib::topo_

Definition at line 147 of file hcalCalib.h.

Referenced by makeTextFile(), ReadPhiSymCor(), and SetCaloGeometry().

◆ USE_CONE_CLUSTERING

Bool_t hcalCalib::USE_CONE_CLUSTERING

Definition at line 124 of file hcalCalib.h.

Referenced by Process(), and SetUseConeClustering().

◆ xTrkEcal

Float_t hcalCalib::xTrkEcal

Definition at line 54 of file hcalCalib.h.

◆ xTrkHcal

Float_t hcalCalib::xTrkHcal

Definition at line 51 of file hcalCalib.h.

Referenced by Process().

◆ yTrkEcal

Float_t hcalCalib::yTrkEcal

Definition at line 55 of file hcalCalib.h.

◆ yTrkHcal

Float_t hcalCalib::yTrkHcal

Definition at line 52 of file hcalCalib.h.

Referenced by Process().

◆ zTrkEcal

Float_t hcalCalib::zTrkEcal

Definition at line 56 of file hcalCalib.h.

◆ zTrkHcal

Float_t hcalCalib::zTrkHcal

Definition at line 53 of file hcalCalib.h.

Referenced by Process().

filterCells3x3
void filterCells3x3(std::vector< TCell > &selectCells, Int_t iEta, UInt_t iPhi)
Definition: hcalCalibUtils.cc:172
hcalCalib::emEnergy
Float_t emEnergy
Definition: hcalCalib.h:47
mps_fire.i
i
Definition: mps_fire.py:428
h2_dHitRefBarrel
TH2F * h2_dHitRefBarrel
Definition: hcalCalib.cc:59
input
static const std::string input
Definition: EdmProvDump.cc:48
hcalCalib::APPLY_PHI_SYM_COR_FLAG
Bool_t APPLY_PHI_SYM_COR_FLAG
Definition: hcalCalib.h:141
h1_rawSumE
TH1F * h1_rawSumE
Definition: hcalCalib.cc:50
hcalCalib::makeTextFile
void makeTextFile()
Definition: hcalCalib.cc:660
TCell::e
Float_t e()
Definition: TCell.h:31
hcalCalib::tagJetP4
TLorentzVector * tagJetP4
Definition: hcalCalib.h:58
hcalCalib::ReadPhiSymCor
Bool_t ReadPhiSymCor()
Definition: hcalCalib.cc:597
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
hcalCalib::zTrkHcal
Float_t zTrkHcal
Definition: hcalCalib.h:53
HcalDetId::iphi
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
hcalCalib::topo_
const HcalTopology * topo_
Definition: hcalCalib.h:147
hcalCalib::refIEtaIPhi
std::vector< std::pair< Int_t, UInt_t > > refIEtaIPhi
Definition: hcalCalib.h:194
hcalCalib::MAX_TAGJET_ABSETA
Float_t MAX_TAGJET_ABSETA
Definition: hcalCalib.h:132
hcalCalib::MAX_PROBEJET_EMFRAC
Float_t MAX_PROBEJET_EMFRAC
Definition: hcalCalib.h:130
hcalCalib::MIN_CELL_E
Float_t MIN_CELL_E
Definition: hcalCalib.h:109
mps_splice.entry
entry
Definition: mps_splice.py:68
hcalCalib::probeJetP4
TLorentzVector * probeJetP4
Definition: hcalCalib.h:59
hcalCalib::MIN_PROBEJET_ABSETA
Float_t MIN_PROBEJET_ABSETA
Definition: hcalCalib.h:135
combinePhi
void combinePhi(std::vector< TCell > &selectCells)
Definition: hcalCalibUtils.cc:89
histoFile
TFile * histoFile
Definition: hcalCalib.cc:42
MinL3AlgoUniv::iterate
IDmap iterate(const std::vector< std::vector< float > > &eventMatrix, const std::vector< std::vector< IDdet > > &idMatrix, const std::vector< float > &energyVector, const int &nIter, const bool &normalizeFlag=false)
Definition: MinL3AlgoUniv.h:76
h1_corRespIEta
TH1F * h1_corRespIEta[48]
Definition: hcalCalib.cc:64
hcalCalib::yTrkHcal
Float_t yTrkHcal
Definition: hcalCalib.h:52
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
filterCellsInCone
void filterCellsInCone(std::vector< TCell > &selectCells, const GlobalPoint hitPositionHcal, Float_t maxConeDist, const CaloGeometry *theCaloGeometry)
Definition: hcalCalibUtils.cc:325
h1_rawRespBarrel
TH1F * h1_rawRespBarrel
Definition: hcalCalib.cc:53
HcalDetId::depth
constexpr int depth() const
get the tower depth
Definition: HcalDetId.h:164
DDAxes::x
h1_allTrkP
TH1F * h1_allTrkP
Definition: hcalCalib.cc:46
HcalBarrel
Definition: HcalAssistant.h:33
hcalCalib::cellEnergies
std::vector< std::vector< Float_t > > cellEnergies
Definition: hcalCalib.h:192
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
fileinputsource_cfi.option
option
Definition: fileinputsource_cfi.py:94
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
h2_dHitRefEndcap
TH2F * h2_dHitRefEndcap
Definition: hcalCalib.cc:60
TCell::id
UInt_t id()
Definition: TCell.h:32
hcalCalib::etVetoJet
Float_t etVetoJet
Definition: hcalCalib.h:49
sumDepths
void sumDepths(std::vector< TCell > &selectCells)
Definition: hcalCalibUtils.cc:15
hcalCalib::iPhiHit
UInt_t iPhiHit
Definition: hcalCalib.h:45
alignCSCRings.s
s
Definition: alignCSCRings.py:92
hcalCalib::cells
TClonesArray * cells
Definition: hcalCalib.h:46
h1_rawResp
TH1F * h1_rawResp
Definition: hcalCalib.cc:51
filterCells5x5
void filterCells5x5(std::vector< TCell > &selectCells, Int_t iEta, UInt_t iPhi)
Definition: hcalCalibUtils.cc:236
h1_numEventsTwrIEta
TH1F * h1_numEventsTwrIEta
Definition: hcalCalib.cc:57
PVValHelper::eta
Definition: PVValidationHelpers.h:70
hcalCalib::MAX_TARGET_E
Float_t MAX_TARGET_E
Definition: hcalCalib.h:107
hcalCalib::MIN_TARGET_E
Float_t MIN_TARGET_E
Definition: hcalCalib.h:106
hcalCalib::GetCoefFromMtrxInvOfAve
void GetCoefFromMtrxInvOfAve()
Definition: hcalCalib.cc:509
mps_fire.end
end
Definition: mps_fire.py:242
TCell::SetE
void SetE(Float_t e)
Definition: TCell.h:34
h1_trkP
TH1F * h1_trkP
Definition: hcalCalib.cc:45
h1_corResp
TH1F * h1_corResp
Definition: hcalCalib.cc:52
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
HcalOuter
Definition: HcalAssistant.h:35
getIEtaIPhiForHighestE
void getIEtaIPhiForHighestE(std::vector< TCell > &selectCells, Int_t &iEta, UInt_t &iPhi)
Definition: hcalCalibUtils.cc:143
Point3DBase< float, GlobalTag >
hcalCalib::CALIB_TYPE
TString CALIB_TYPE
Definition: hcalCalib.h:137
b
double b
Definition: hdecay.h:118
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
hcalCalib::iEtaCoefMap
std::map< Int_t, Float_t > iEtaCoefMap
Definition: hcalCalib.h:201
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
hcalCalib::phiSymCor
std::map< UInt_t, Float_t > phiSymCor
Definition: hcalCalib.h:197
hcalCalib::COMBINE_PHI
Bool_t COMBINE_PHI
Definition: hcalCalib.h:119
hcalCalib::MAX_ET_THIRD_JET
Float_t MAX_ET_THIRD_JET
Definition: hcalCalib.h:114
HcalDetId::ieta
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
hcalCalib::CALIB_METHOD
TString CALIB_METHOD
Definition: hcalCalib.h:138
h1_selTrkP_iEta10
TH1F * h1_selTrkP_iEta10
Definition: hcalCalib.cc:48
hcalCalib::PHI_SYM_COR_FILENAME
TString PHI_SYM_COR_FILENAME
Definition: hcalCalib.h:140
hcalCalib::targetE
Float_t targetE
Definition: hcalCalib.h:48
hcalCalib::SUM_DEPTHS
Bool_t SUM_DEPTHS
Definition: hcalCalib.h:117
hcalCalib::MIN_DPHI_DIJETS
Float_t MIN_DPHI_DIJETS
Definition: hcalCalib.h:115
A
HcalDetId::subdet
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
hcalCalib::CALIB_ABS_IETA_MAX
Int_t CALIB_ABS_IETA_MAX
Definition: hcalCalib.h:127
HcalDetId
Definition: HcalDetId.h:12
value
Definition: value.py:1
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
hcalCalib::probeJetEmFrac
Float_t probeJetEmFrac
Definition: hcalCalib.h:62
hcalCalib::CALIB_ABS_IETA_MIN
Int_t CALIB_ABS_IETA_MIN
Definition: hcalCalib.h:128
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
hcalCalib::SUM_SMALL_DEPTHS
Bool_t SUM_SMALL_DEPTHS
Definition: hcalCalib.h:118
HcalSubdetector
HcalSubdetector
Definition: HcalAssistant.h:31
hcalCalib::HE_CLUSTER_SIZE
Int_t HE_CLUSTER_SIZE
Definition: hcalCalib.h:122
hcalCalib::MAX_TRK_EME
Float_t MAX_TRK_EME
Definition: hcalCalib.h:112
HcalForward
Definition: HcalAssistant.h:36
HcalTopology::valid
bool valid(const DetId &id) const override
Definition: HcalTopology.cc:225
hcalCalib::GetEntry
Int_t GetEntry(Long64_t entry, Int_t getall=0) override
Definition: hcalCalib.h:95
DDAxes::phi
MaterialEffects_cfi.A
A
Definition: MaterialEffects_cfi.py:11
TCell
Definition: TCell.h:15
hcalCalib::theCaloGeometry
const CaloGeometry * theCaloGeometry
Definition: hcalCalib.h:146
hcalCalib::USE_CONE_CLUSTERING
Bool_t USE_CONE_CLUSTERING
Definition: hcalCalib.h:124
HcalEndcap
Definition: HcalAssistant.h:34
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
relativeConstraints.value
value
Definition: relativeConstraints.py:53
hcalCalib::MAX_CONE_DIST
Float_t MAX_CONE_DIST
Definition: hcalCalib.h:125
hcalCalib::solution
std::map< UInt_t, Float_t > solution
Definition: hcalCalib.h:199
hcalCalib::fChain
TTree * fChain
Definition: hcalCalib.h:40
HltBtagPostValidation_cff.histoName
histoName
Definition: HltBtagPostValidation_cff.py:17
hcalCalib::MIN_EOVERP
Float_t MIN_EOVERP
Definition: hcalCalib.h:110
h1_rawRespEndcap
TH1F * h1_rawRespEndcap
Definition: hcalCalib.cc:55
sd
double sd
Definition: CascadeWrapper.h:113
h1_corRespBarrel
TH1F * h1_corRespBarrel
Definition: hcalCalib.cc:54
L1TowerCalibrationProducer_cfi.iEta
iEta
Definition: L1TowerCalibrationProducer_cfi.py:60
ztail.d
d
Definition: ztail.py:151
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
hcalCalib::xTrkHcal
Float_t xTrkHcal
Definition: hcalCalib.h:51
h1_corRespEndcap
TH1F * h1_corRespEndcap
Definition: hcalCalib.cc:56
beamvalidation.exit
def exit(msg="")
Definition: beamvalidation.py:52
HcalDetId::ietaAbs
constexpr int ietaAbs() const
get the absolute value of the cell ieta
Definition: HcalDetId.h:148
hcalCalib::iEtaHit
Int_t iEtaHit
Definition: hcalCalib.h:44
hcalCalib::targetEnergies
std::vector< Float_t > targetEnergies
Definition: hcalCalib.h:195
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
nEvents
UInt_t nEvents
Definition: hcalCalib.cc:40
mps_splice.line
line
Definition: mps_splice.py:76
hcalCalib::HB_CLUSTER_SIZE
Int_t HB_CLUSTER_SIZE
Definition: hcalCalib.h:121
MinL3AlgoUniv
Definition: MinL3AlgoUniv.h:20
hcalCalib::MAX_EOVERP
Float_t MAX_EOVERP
Definition: hcalCalib.h:111
hcalCalib::MIN_TAGJET_ET
Float_t MIN_TAGJET_ET
Definition: hcalCalib.h:133
sumSmallDepths
void sumSmallDepths(std::vector< TCell > &selectCells)
Definition: hcalCalibUtils.cc:267
weight
Definition: weight.py:1
g
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
hcalCalib::cellIds
std::vector< std::vector< UInt_t > > cellIds
Definition: hcalCalib.h:193
hcalCalib::HISTO_FILENAME
TString HISTO_FILENAME
Definition: hcalCalib.h:144
hcalCalib::OUTPUT_COR_COEF_FILENAME
TString OUTPUT_COR_COEF_FILENAME
Definition: hcalCalib.h:143
hcalCalib::MAX_TAGJET_EMFRAC
Float_t MAX_TAGJET_EMFRAC
Definition: hcalCalib.h:131
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37