#include <SimG4CMS/HcalTestBeam/interface/HcalTB02Analysis.h>
Public Member Functions | |
HcalTB02Analysis (const edm::ParameterSet &p) | |
virtual void | produce (edm::Event &, const edm::EventSetup &) |
virtual | ~HcalTB02Analysis () |
Private Member Functions | |
void | clear () |
void | fillEvent (HcalTB02HistoClass &) |
void | finish () |
HcalTB02Analysis (const HcalTB02Analysis &) | |
const HcalTB02Analysis & | operator= (const HcalTB02Analysis &) |
void | update (const EndOfEvent *evt) |
This routine will be called when the appropriate signal arrives. | |
void | update (const BeginOfEvent *evt) |
This routine will be called when the appropriate signal arrives. | |
Private Attributes | |
float | E5x5Matrix |
float | E5x5MatrixN |
float | E7x7Matrix |
float | E7x7MatrixN |
std::map< int, float > | energyInCrystals |
std::map< int, float > | energyInScints |
double | eta |
std::string | fileNameTuple |
bool | hcalOnly |
HcalTB02Histo * | histo |
double | incidentEnergy |
int | maxTime |
std::vector< std::string > | names |
int | particleType |
double | phi |
double | pInit |
std::map< int, float > | primaries |
float | SEnergy |
float | SEnergyN |
float | xE3x3Matrix |
float | xE3x3MatrixN |
float | xE5x5Matrix |
float | xE5x5MatrixN |
double | xIncidentEnergy |
float | xSEnergy |
float | xSEnergyN |
Usage: A Simwatcher class and can be activated from Oscarproducer module
Definition at line 43 of file HcalTB02Analysis.h.
HcalTB02Analysis::HcalTB02Analysis | ( | const edm::ParameterSet & | p | ) |
Definition at line 45 of file HcalTB02Analysis.cc.
References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hcalOnly, histo, and names.
00045 : histo(0) { 00046 00047 edm::ParameterSet m_Anal = p.getParameter<edm::ParameterSet>("HcalTB02Analysis"); 00048 hcalOnly = m_Anal.getUntrackedParameter<bool>("HcalClusterOnly",true); 00049 names = m_Anal.getParameter<std::vector<std::string> >("Names"); 00050 00051 produces<HcalTB02HistoClass>(); 00052 00053 edm::LogInfo("HcalTBSim") << "HcalTB02Analysis:: Initialised as observer of " 00054 << "BeginOfJob/BeginOfEvent/EndOfEvent with " 00055 << "Parameter values:\n \thcalOnly = " << hcalOnly; 00056 00057 histo = new HcalTB02Histo(m_Anal); 00058 }
HcalTB02Analysis::~HcalTB02Analysis | ( | ) | [virtual] |
Definition at line 60 of file HcalTB02Analysis.cc.
References finish(), and histo.
00060 { 00061 00062 finish(); 00063 00064 if (histo) { 00065 delete histo; 00066 histo = 0; 00067 } 00068 edm::LogInfo("HcalTBSim") << "HcalTB02Analysis is deleting"; 00069 }
HcalTB02Analysis::HcalTB02Analysis | ( | const HcalTB02Analysis & | ) | [private] |
Definition at line 415 of file HcalTB02Analysis.cc.
References E5x5Matrix, E5x5MatrixN, E7x7Matrix, E7x7MatrixN, energyInCrystals, energyInScints, eta, incidentEnergy, maxTime, particleType, phi, pInit, primaries, SEnergy, SEnergyN, xE3x3Matrix, xE3x3MatrixN, xE5x5Matrix, xE5x5MatrixN, xIncidentEnergy, xSEnergy, and xSEnergyN.
Referenced by update().
00415 { 00416 00417 primaries.clear(); 00418 particleType = 0; 00419 pInit = eta = phi = incidentEnergy = 0; 00420 00421 SEnergy = E7x7Matrix = E5x5Matrix = SEnergyN = 0; 00422 E7x7MatrixN = E5x5MatrixN = 0; 00423 energyInScints.clear(); 00424 maxTime = 0; 00425 00426 xIncidentEnergy = 0; 00427 energyInCrystals.clear(); 00428 xSEnergy = xSEnergyN = xE5x5Matrix = xE3x3Matrix = 0; 00429 xE5x5MatrixN = xE3x3MatrixN = 0; 00430 }
void HcalTB02Analysis::fillEvent | ( | HcalTB02HistoClass & | product | ) | [private] |
Definition at line 384 of file HcalTB02Analysis.cc.
References E5x5Matrix, E5x5MatrixN, E7x7Matrix, E7x7MatrixN, energyInCrystals, energyInScints, eta, incidentEnergy, maxTime, particleType, phi, pInit, primaries, SEnergy, SEnergyN, HcalTB02HistoClass::set_E5x5(), HcalTB02HistoClass::set_E5x5N(), HcalTB02HistoClass::set_E7x7(), HcalTB02HistoClass::set_E7x7N(), HcalTB02HistoClass::set_Eentry(), HcalTB02HistoClass::set_Einit(), HcalTB02HistoClass::set_eta(), HcalTB02HistoClass::set_ETot(), HcalTB02HistoClass::set_ETotN(), HcalTB02HistoClass::set_Nprim(), HcalTB02HistoClass::set_Ntimesli(), HcalTB02HistoClass::set_NUnit(), HcalTB02HistoClass::set_partType(), HcalTB02HistoClass::set_phi(), HcalTB02HistoClass::set_xE3x3(), HcalTB02HistoClass::set_xE3x3N(), HcalTB02HistoClass::set_xE5x5(), HcalTB02HistoClass::set_xE5x5N(), HcalTB02HistoClass::set_xEentry(), HcalTB02HistoClass::set_xETot(), HcalTB02HistoClass::set_xETotN(), HcalTB02HistoClass::set_xNUnit(), xE3x3Matrix, xE3x3MatrixN, xE5x5Matrix, xE5x5MatrixN, xIncidentEnergy, xSEnergy, and xSEnergyN.
Referenced by produce().
00384 { 00385 00386 //Beam information 00387 product.set_Nprim(float(primaries.size())); 00388 product.set_partType(particleType); 00389 product.set_Einit(pInit/GeV); 00390 product.set_eta(eta); 00391 product.set_phi(phi); 00392 product.set_Eentry(incidentEnergy); 00393 00394 //Calorimeter energy 00395 product.set_ETot(SEnergy/GeV ); 00396 product.set_E7x7(E7x7Matrix/GeV ); 00397 product.set_E5x5(E5x5Matrix/GeV ); 00398 product.set_ETotN(SEnergyN/GeV); 00399 product.set_E7x7N(E7x7MatrixN/GeV ); 00400 product.set_E5x5N(E5x5MatrixN/GeV ); 00401 product.set_NUnit(float(energyInScints.size())); 00402 product.set_Ntimesli(float(maxTime)); 00403 00404 //crystal information 00405 product.set_xEentry(xIncidentEnergy); 00406 product.set_xNUnit(float(energyInCrystals.size())); 00407 product.set_xETot(xSEnergy/GeV); 00408 product.set_xETotN(xSEnergyN/GeV); 00409 product.set_xE5x5(xE5x5Matrix/GeV); 00410 product.set_xE3x3(xE3x3Matrix/GeV); 00411 product.set_xE5x5N(xE5x5MatrixN/GeV); 00412 product.set_xE3x3N(xE3x3MatrixN/GeV); 00413 }
Definition at line 432 of file HcalTB02Analysis.cc.
Referenced by ~HcalTB02Analysis().
00432 { 00433 00434 /* 00435 //Profile 00436 std::ofstream oFile; 00437 oFile.open("profile.dat"); 00438 float st[19] = {0.8, 00439 0.4, 0.4, 0.4, 0.4, 0.4, 00440 0.4, 0.4, 0.4, 0.4, 0.4, 00441 0.4, 0.4, 0.4, 0.4, 0.4, 00442 0.8, 1.0, 1.0}; 00443 00444 //cm of material (brass) in front of scintillator layer i: 00445 00446 float w[19] = {7.45, //iron ! 00447 6.00, 6.00, 6.00, 6.00, 6.00, //brass 00448 6.00, 6.00, 6.00, 6.00, 6.60, //brass 00449 6.60, 6.60, 6.60, 6.60, 6.60, //brass 00450 8.90, 20.65, 19.5}; //brass,iron ! 00451 00452 for (int ilayer = 0; ilayer<19; ilayer++) { 00453 00454 // Histogram mean and sigma calculated from the ROOT histos 00455 edm::LogInfo("HcalTBSim") << "Layer number: " << ilayer << " Mean = " 00456 << histo->getMean(ilayer) << " sigma = " 00457 << histo->getRMS(ilayer) << " LThick= " 00458 << w[ilayer] << " SThick= " << st[ilayer]; 00459 00460 oFile << ilayer << " " << histo->getMean(ilayer) << " " 00461 << histo->getRMS(ilayer) << " " << w[ilayer] << " " << st[ilayer] 00462 << std::endl; 00463 00464 } 00465 oFile.close(); 00466 */ 00467 }
const HcalTB02Analysis& HcalTB02Analysis::operator= | ( | const HcalTB02Analysis & | ) | [private] |
void HcalTB02Analysis::produce | ( | edm::Event & | e, | |
const edm::EventSetup & | ||||
) | [virtual] |
Implements SimProducer.
Definition at line 75 of file HcalTB02Analysis.cc.
References fillEvent(), and edm::Event::put().
00075 { 00076 00077 std::auto_ptr<HcalTB02HistoClass> product(new HcalTB02HistoClass); 00078 fillEvent(*product); 00079 e.put(product); 00080 }
void HcalTB02Analysis::update | ( | const EndOfEvent * | ) | [private, virtual] |
This routine will be called when the appropriate signal arrives.
Implements Observer< const EndOfEvent * >.
Definition at line 89 of file HcalTB02Analysis.cc.
References GenMuonPlsPt100GeV_cfg::cout, E5x5Matrix, E5x5MatrixN, E7x7Matrix, E7x7MatrixN, lat::endl(), energyInCrystals, energyInScints, eta, Exception, HcalTB02Histo::fillAllTime(), HcalTB02Histo::fillProfile(), HcalTB02Histo::fillTransProf(), CaloG4Hit::getEM(), HcalTB02HcalNumberingScheme::getetaID(), CaloG4Hit::getHadr(), CaloG4Hit::getIncidentEnergy(), HcalTB02HcalNumberingScheme::getlayerID(), HcalTB02HcalNumberingScheme::getphiID(), CaloG4Hit::getTimeSliceID(), CaloG4Hit::getTrackID(), CaloG4Hit::getUnitID(), hcalOnly, histo, i, incidentEnergy, int, edm::Service< T >::isAvailable(), funct::log(), LogDebug, max, maxTime, min, names, npart, particleType, phi, pInit, funct::pow(), primaries, SEnergy, SEnergyN, funct::sqrt(), funct::tan(), theta, xE3x3Matrix, xE3x3MatrixN, xE5x5Matrix, xE5x5MatrixN, xIncidentEnergy, and xSEnergy.
00089 { 00090 00091 edm::Service<edm::RandomNumberGenerator> rng; 00092 if ( ! rng.isAvailable()) { 00093 throw cms::Exception("Configuration") 00094 << "HcalTB02Analysis requires the RandomNumberGeneratorService\n" 00095 << "which is not present in the configuration file. " 00096 << "You must add the service\n in the configuration file or " 00097 << "remove the modules that require it."; 00098 } 00099 CLHEP::RandGaussQ randGauss(rng->getEngine()); 00100 00101 // Look for the Hit Collection 00102 LogDebug("HcalTBSim") << "HcalTB02Analysis::Fill event " 00103 << (*evt)()->GetEventID(); 00104 00105 // access to the G4 hit collections 00106 G4HCofThisEvent* allHC = (*evt)()->GetHCofThisEvent(); 00107 int ihit = 0; 00108 00109 // HCAL 00110 std::string sd = names[0]; 00111 int HCHCid = G4SDManager::GetSDMpointer()->GetCollectionID(sd); 00112 CaloG4HitCollection* theHCHC = (CaloG4HitCollection*) allHC->GetHC(HCHCid); 00113 HcalTB02HcalNumberingScheme *org = new HcalTB02HcalNumberingScheme(); 00114 LogDebug("HcalTBSim") << "HcalTB02Analysis :: Hit Collection for " << sd 00115 << " of ID " << HCHCid << " is obtained at " <<theHCHC; 00116 00117 int nentries = 0; 00118 nentries = theHCHC->entries(); 00119 if (nentries==0) return; 00120 00121 int xentries = 0; 00122 int XTALSid=0; 00123 CaloG4HitCollection* theXTHC=0; 00124 00125 if (!hcalOnly) { 00126 // XTALS 00127 sd = names[1]; 00128 XTALSid = G4SDManager::GetSDMpointer()->GetCollectionID(sd); 00129 // assert (XTALSid != 0); 00130 theXTHC = (CaloG4HitCollection*) allHC->GetHC(XTALSid); 00131 // assert (theXTHC != 0); 00132 //HcalTB02XtalNumberingScheme *xorg = new HcalTB02XtalNumberingScheme(); 00133 LogDebug("HcalTBSim") << "HcalTB02Analysis :: Hit Collection for " << sd 00134 << " of ID " << XTALSid << " is obtained at " 00135 << theXTHC; 00136 xentries = theXTHC->entries(); 00137 if (xentries==0) return; 00138 } 00139 00140 LogDebug("HcalTBSim") << "HcalTB02Analysis :: There are " << nentries 00141 << " HCal hits, and" << xentries << " xtal hits"; 00142 00143 float ETot=0., xETot=0.; 00144 //float maxE = 0.; 00145 //int maxI=0, 00146 int scintID=0, xtalID=0; 00147 00148 // HCAL 00149 00150 if (HCHCid >= 0 && theHCHC > 0) { 00151 for ( ihit = 0; ihit < nentries; ihit++) { 00152 00153 CaloG4Hit* aHit = (*theHCHC)[ihit]; 00154 scintID = aHit->getUnitID(); 00155 int layer = org->getlayerID(scintID); 00156 float enEm = aHit->getEM(); 00157 float enhad = aHit->getHadr(); 00158 00159 if (layer==0) { 00160 enEm =enEm/2.; 00161 enhad=enhad/2.; 00162 } 00163 00164 energyInScints[scintID]+= enEm + enhad; 00165 primaries[aHit->getTrackID()]+= enEm + enhad; 00166 float time = aHit->getTimeSliceID(); 00167 if (time > maxTime) maxTime=(int)time; 00168 histo->fillAllTime(time); 00169 00170 } 00171 00172 // 00173 // Profile 00174 // 00175 00176 float TowerEne[8][18], TowerEneCF[8][18], LayerEne[19], EnRing[100]; 00177 for (int iphi=0 ; iphi<8; iphi++) { 00178 for (int jeta=0 ; jeta<18; jeta++) { 00179 TowerEne[iphi][jeta]=0.; 00180 TowerEneCF[iphi][jeta]=0.; 00181 } 00182 } 00183 00184 for (int ilayer=0; ilayer<19; ilayer++) LayerEne[ilayer]=0.; 00185 for (int iring=0; iring<100; iring++) EnRing[iring]=0.; 00186 00187 for (std::map<int,float>::iterator is = energyInScints.begin(); 00188 is!= energyInScints.end(); is++) { 00189 00190 ETot = (*is).second; 00191 00192 int layer = org->getlayerID((*is).first); 00193 00194 if ( (layer!=17) && (layer!=18) ) { 00195 00196 float eta = org->getetaID((*is).first); 00197 float phi = org->getphiID((*is).first); 00198 00199 SEnergy += ETot; 00200 TowerEne[(int)phi][(int)eta] += ETot; 00201 00202 TowerEneCF[(int)phi][(int)eta] += ETot*(1.+ 0.1*randGauss.fire() ); 00203 double dR=0.08727*std::sqrt( (eta-8.)*(eta-8.) + (phi-3.)*(phi-3.) ); 00204 EnRing[(int)(dR/0.01)] += ETot; 00205 } 00206 00207 LayerEne[layer] += ETot; 00208 00209 } 00210 00211 for (int ilayer=0 ; ilayer<19 ; ilayer++) { 00212 histo->fillProfile(ilayer,LayerEne[ilayer]/GeV); 00213 } 00214 00215 for (int iring=0; iring<100; iring++) 00216 histo->fillTransProf(0.01*iring+0.005,EnRing[iring]/GeV); 00217 00218 for (int iphi=0 ; iphi<8; iphi++) { 00219 for (int jeta=0 ; jeta<18; jeta++) { 00220 00221 //SEnergyN += TowerEneCF[iphi][jeta] + 3.2*randGauss.fire(); // LHEP 00222 SEnergyN += TowerEneCF[iphi][jeta] + 3.*randGauss.fire(); // QGSP 00223 00224 //double dR=0.08727*sqrt( (jeta-8.)*(jeta-8.)+(iphi-3.)*(iphi-3.) ); 00225 //cout.testOut << " phi= " << iphi << " eta= " << jeta 00226 // << " TowerEne[iphi,jeta]= " << TowerEne[iphi][jeta] 00227 // << "dR= " << dR << endl; 00228 00229 //double Rand = 3.2*randGauss.fire(); // LHEP 00230 double Rand = 3.*randGauss.fire(); // QGSP 00231 00232 if ( (iphi>=0) && (iphi<7) ) { 00233 if ( (jeta>=5) && (jeta<12) ) { 00234 00235 E7x7Matrix += TowerEne[iphi][jeta]; 00236 E7x7MatrixN += TowerEneCF[iphi][jeta] + Rand; 00237 00238 if ( (iphi>=1) && (iphi<6) ) { 00239 if ( (jeta>=6) && (jeta<11) ) { 00240 00241 E5x5Matrix += TowerEne[iphi][jeta]; 00242 E5x5MatrixN += TowerEneCF[iphi][jeta] + Rand; 00243 00244 } 00245 } 00246 00247 } 00248 } 00249 00250 } 00251 } 00252 00253 // 00254 // Find Primary info: 00255 // 00256 int trackID = 0; 00257 G4PrimaryParticle* thePrim=0; 00258 G4int nvertex = (*evt)()->GetNumberOfPrimaryVertex(); 00259 LogDebug("HcalTBSim") << "HcalTB02Analysis :: Event has " << nvertex 00260 << " vertex"; 00261 if (nvertex==0) 00262 edm::LogWarning("HcalTBSim") << "HcalTB02Analysis:: End Of Event " 00263 << "ERROR: no vertex"; 00264 00265 for (int i = 0 ; i<nvertex; i++) { 00266 00267 G4PrimaryVertex* avertex = (*evt)()->GetPrimaryVertex(i); 00268 if (avertex == 0) { 00269 edm::LogWarning("HcalTBSim") << "HcalTB02Analysis:: End Of Event " 00270 << "ERROR: pointer to vertex = 0"; 00271 } else { 00272 int npart = avertex->GetNumberOfParticle(); 00273 LogDebug("HcalTBSim") << "HcalTB02Analysis::Vertex number :" << i 00274 << " with " << npart << " particles"; 00275 if (thePrim==0) thePrim=avertex->GetPrimary(trackID); 00276 } 00277 } 00278 00279 double px=0.,py=0.,pz=0.; 00280 00281 if (thePrim != 0) { 00282 px = thePrim->GetPx(); 00283 py = thePrim->GetPy(); 00284 pz = thePrim->GetPz(); 00285 pInit = std::sqrt(pow(px,2.)+pow(py,2.)+pow(pz,2.)); 00286 if (pInit==0) { 00287 edm::LogWarning("HcalTBSim") << "HcalTB02Analysis:: End Of Event " 00288 << " ERROR: primary has p=0 "; 00289 } else { 00290 float costheta = pz/pInit; 00291 float theta = acos(std::min(std::max(costheta,float(-1.)),float(1.))); 00292 eta = -log(tan(theta/2)); 00293 if (px != 0) phi = atan(py/px); 00294 } 00295 particleType = thePrim->GetPDGcode(); 00296 } else { 00297 LogDebug("HcalTBSim") << "HcalTB02Analysis:: End Of Event ERROR: could" 00298 << " not find primary "; 00299 } 00300 00301 CaloG4Hit* firstHit =(*theHCHC)[0]; 00302 incidentEnergy = (firstHit->getIncidentEnergy()/GeV); 00303 00304 }// number of Hits > 0 00305 00306 if (!hcalOnly) { 00307 00308 // XTALS 00309 00310 if (XTALSid >= 0 && theXTHC > 0) { 00311 for (int xihit = 0; xihit < xentries; xihit++) { 00312 00313 CaloG4Hit* xaHit = (*theXTHC)[xihit]; 00314 00315 float xenEm = xaHit->getEM(); 00316 float xenhad = xaHit->getHadr(); 00317 xtalID = xaHit->getUnitID(); 00318 00319 energyInCrystals[xtalID]+= xenEm + xenhad; 00320 } 00321 00322 float xCrysEne[7][7]; 00323 for (int irow=0 ; irow<7; irow++) { 00324 for (int jcol=0 ; jcol<7; jcol++) { 00325 xCrysEne[irow][jcol]=0.; 00326 } 00327 } 00328 00329 for (std::map<int,float>::iterator is = energyInCrystals.begin(); 00330 is!= energyInCrystals.end(); is++) { 00331 int xtalID = (*is).first; 00332 xETot = (*is).second; 00333 00334 int irow = (int)(xtalID/100.); 00335 int jcol = (int)(xtalID-100.*irow); 00336 00337 xSEnergy += xETot; 00338 xCrysEne[irow][jcol] = xETot; 00339 00340 float dR=std::sqrt( 0.01619*0.01619*(jcol-3)*(jcol-3) + 00341 0.01606*0.01606*(irow-3)*(irow-3) ); 00342 histo->fillTransProf(dR,xETot*1.05); 00343 00344 if ( (irow>0) && (irow<6) ) { 00345 if ( (jcol>0) && (jcol<6) ) { 00346 00347 xE5x5Matrix += xCrysEne[irow][jcol]; 00348 xE5x5MatrixN += xCrysEne[irow][jcol] + 108.5*randGauss.fire(); 00349 00350 if ( (irow>1) && (irow<5) ) { 00351 if ( (jcol>1) && (jcol<5) ) { 00352 xE3x3Matrix += xCrysEne[irow][jcol]; 00353 xE3x3MatrixN += xCrysEne[irow][jcol] +108.5*randGauss.fire(); 00354 } 00355 } 00356 } 00357 } 00358 00359 } 00360 00361 if (!hcalOnly) { 00362 // assert(theXTHC); 00363 if ( theXTHC != 0 ) { 00364 CaloG4Hit* xfirstHit =(*theXTHC)[0]; 00365 xIncidentEnergy = xfirstHit->getIncidentEnergy()/GeV; 00366 } 00367 } 00368 00369 }// number of Hits > 0 00370 00371 } 00372 00373 int iEvt = (*evt)()->GetEventID(); 00374 if (iEvt < 10) 00375 std::cout << " Event " << iEvt << std::endl; 00376 else if ((iEvt < 100) && (iEvt%10 == 0)) 00377 std::cout << " Event " << iEvt << std::endl; 00378 else if ((iEvt < 1000) && (iEvt%100 == 0)) 00379 std::cout << " Event " << iEvt << std::endl; 00380 else if ((iEvt < 10000) && (iEvt%1000 == 0)) 00381 std::cout << " Event " << iEvt << std::endl; 00382 }
void HcalTB02Analysis::update | ( | const BeginOfEvent * | ) | [private, virtual] |
This routine will be called when the appropriate signal arrives.
Implements Observer< const BeginOfEvent * >.
Definition at line 82 of file HcalTB02Analysis.cc.
References clear().
00082 { 00083 00084 edm::LogInfo("HcalTBSim") << "HcalTB02Analysis: =====> Begin of event = " 00085 << (*evt) ()->GetEventID(); 00086 clear(); 00087 }
float HcalTB02Analysis::E5x5Matrix [private] |
float HcalTB02Analysis::E5x5MatrixN [private] |
float HcalTB02Analysis::E7x7Matrix [private] |
float HcalTB02Analysis::E7x7MatrixN [private] |
std::map<int,float> HcalTB02Analysis::energyInCrystals [private] |
std::map<int,float> HcalTB02Analysis::energyInScints [private] |
double HcalTB02Analysis::eta [private] |
std::string HcalTB02Analysis::fileNameTuple [private] |
Definition at line 74 of file HcalTB02Analysis.h.
bool HcalTB02Analysis::hcalOnly [private] |
HcalTB02Histo* HcalTB02Analysis::histo [private] |
Definition at line 70 of file HcalTB02Analysis.h.
Referenced by HcalTB02Analysis(), update(), and ~HcalTB02Analysis().
double HcalTB02Analysis::incidentEnergy [private] |
int HcalTB02Analysis::maxTime [private] |
std::vector<std::string> HcalTB02Analysis::names [private] |
int HcalTB02Analysis::particleType [private] |
double HcalTB02Analysis::phi [private] |
double HcalTB02Analysis::pInit [private] |
std::map<int,float> HcalTB02Analysis::primaries [private] |
float HcalTB02Analysis::SEnergy [private] |
float HcalTB02Analysis::SEnergyN [private] |
float HcalTB02Analysis::xE3x3Matrix [private] |
float HcalTB02Analysis::xE3x3MatrixN [private] |
float HcalTB02Analysis::xE5x5Matrix [private] |
float HcalTB02Analysis::xE5x5MatrixN [private] |
double HcalTB02Analysis::xIncidentEnergy [private] |
float HcalTB02Analysis::xSEnergy [private] |
float HcalTB02Analysis::xSEnergyN [private] |