CMS 3D CMS Logo

pftools Namespace Reference

General option file parser. More...


Classes

class  BayesianNNCalibrator
class  Calibratable
 Wraps essential single particle calibration data ready for export to a Root file. More...
class  CalibratableElement
 Small wrapper class for storing individual rechit and cluster information. More...
class  Calibration
class  CalibrationResultWrapper
 A small class designed to hold the result of a calibration of a SingleParticleWrapper. More...
class  Calibrator
 Abstract base class for Particle Flow calibration algorithms. More...
class  CandidateWrapper
class  Deposition
 This class holds an arbitrary energy deposition, specified in terms of angular position, energy, depth (optional) and detector element type. More...
class  DetectorElement
 Represents an energy-measuring region of our detector. More...
class  Exercises2
class  Exercises3
class  IO
class  LinearCalibration
class  LinearCalibrator
class  ParticleDeposit
class  PFClusterCalibration
class  PFToolsException
 General purpose exception class for use by classes in the pftools namespace. More...
class  SingleParticleWrapper
 Wraps essential single particle calibration data ready for export to a Root file. More...
class  SpaceManager
 A tool to associate SpaceVoxels with Calibrator objects. More...
class  SpaceVoxel
 A multi-dimensional volume element to subdivide the detector into different calibration regions. More...
class  TreeUtility
 Utility class to create particles and detector elements from a Root file. More...
class  Utils

Typedefs

typedef boost::shared_ptr
< Calibratable
CalibratablePtr
typedef boost::shared_ptr
< Calibrator
CalibratorPtr
typedef boost::shared_ptr
< Deposition
DepositionPtr
typedef boost::shared_ptr
< DetectorElement
DetectorElementPtr
typedef boost::shared_ptr
< ParticleDeposit
ParticleDepositPtr
typedef boost::shared_ptr
< SpaceManager
SpaceManagerPtr
typedef boost::shared_ptr
< SpaceVoxel
SpaceVoxelPtr

Enumerations

enum  CalibrationProvenance {
  UNCALIBRATED = 0, LINEAR = 1, BAYESIAN = 2, LINEARECAL = 3,
  LINEARHCAL = 4, LINEARCORR = -1, NONE = 99
}
enum  DetectorElementType {
  ECAL = 0, HCAL = 1, PRESHOWER = 2, OFFSET = 3,
  ECAL2 = 4, HCAL2 = 5
}
enum  Region { NOREGION = 0, BARREL_POS = 1, TRANSITION_POS = 2, ENDCAP_POS = 3 }

Functions

std::ostream & operator<< (std::ostream &s, const pftools::SpaceVoxel &sv)
std::ostream & operator<< (std::ostream &s, const PFClusterCalibration &cc)
std::ostream & operator<< (std::ostream &s, const pftools::ParticleDeposit &p)
std::ostream & operator<< (std::ostream &s, const DetectorElement &de)
std::ostream & operator<< (std::ostream &s, const Deposition &d)
std::ostream & operator<< (std::ostream &s, const LinearCalibration &lc)
std::ostream & operator<< (std::ostream &s, const Calibratable &calib_)

Variables

const char *const DetElNames [] = { "ECAL", "HCAL", "PRESHOWER", "OFFSET", "ECAL2", "HCAL2" }
const char *const RegionNames [] = { "NOREGION", "BARREL_POS", "TRANSITION_POS", "ENDCAP_POS" }


Detailed Description

General option file parser.

Utility functions.

  IO io("myfile.opt");
  fECALthresh = 0.05;
  io.GetOpt("ECAL", "threshold", fECALthresh);
Author:
Colin Bernet
Date:
January 2002
Author:
Colin Bernet
Date:
January 2006

Typedef Documentation

typedef boost::shared_ptr<Calibratable> pftools::CalibratablePtr

Definition at line 161 of file Calibratable.h.

typedef boost::shared_ptr<Calibrator> pftools::CalibratorPtr

Definition at line 65 of file Calibrator.h.

typedef boost::shared_ptr<Deposition> pftools::DepositionPtr

Definition at line 77 of file Deposition.h.

typedef boost::shared_ptr<DetectorElement> pftools::DetectorElementPtr

Definition at line 84 of file DetectorElement.h.

typedef boost::shared_ptr<ParticleDeposit> pftools::ParticleDepositPtr

Definition at line 103 of file ParticleDeposit.h.

typedef boost::shared_ptr<SpaceManager> pftools::SpaceManagerPtr

Definition at line 126 of file SpaceManager.h.

typedef boost::shared_ptr<SpaceVoxel> pftools::SpaceVoxelPtr

Definition at line 89 of file SpaceVoxel.h.


Enumeration Type Documentation

enum pftools::CalibrationProvenance

Enumerator:
UNCALIBRATED 
LINEAR 
BAYESIAN 
LINEARECAL 
LINEARHCAL 
LINEARCORR 
NONE 

Definition at line 12 of file CalibrationProvenance.h.

00012                            {
00013         UNCALIBRATED = 0, LINEAR = 1, BAYESIAN = 2, LINEARECAL = 3, LINEARHCAL=4, LINEARCORR = -1, NONE = 99
00014 };

enum pftools::DetectorElementType

Enumerator:
ECAL 
HCAL 
PRESHOWER 
OFFSET 
ECAL2 
HCAL2 

Definition at line 19 of file DetectorElementType.h.

00019                          {
00020         ECAL = 0, HCAL = 1, PRESHOWER = 2, OFFSET = 3, ECAL2 = 4, HCAL2 = 5
00021 };

enum pftools::Region

Enumerator:
NOREGION 
BARREL_POS 
TRANSITION_POS 
ENDCAP_POS 

Definition at line 7 of file Region.h.

00007             {
00008         NOREGION = 0, BARREL_POS = 1, TRANSITION_POS = 2, ENDCAP_POS = 3
00009 };


Function Documentation

std::ostream& pftools::operator<< ( std::ostream &  s,
const pftools::SpaceVoxel sv 
)

Definition at line 113 of file SpaceVoxel.cc.

References pftools::SpaceVoxel::print().

00113                                                                           {
00114         sv.print(s);
00115         return s;
00116 }

std::ostream& pftools::operator<< ( std::ostream &  s,
const PFClusterCalibration cc 
)

Definition at line 313 of file PFClusterCalibration.cc.

References pftools::PFClusterCalibration::allowNegativeEnergy_, pftools::PFClusterCalibration::barrelEndcapEtaDiv_, pftools::PFClusterCalibration::correctionLowLimit_, pftools::PFClusterCalibration::doCorrection_, pftools::PFClusterCalibration::doEtaCorrection_, pftools::PFClusterCalibration::ecalOnlyDiv_, pftools::PFClusterCalibration::globalP0_, pftools::PFClusterCalibration::globalP1_, pftools::PFClusterCalibration::hcalOnlyDiv_, pftools::PFClusterCalibration::lowEP0_, and pftools::PFClusterCalibration::lowEP1_.

00313                                                                              {
00314         s << "PFClusterCalibration: dump...\n";
00315         s << "barrelEndcapEtaDiv:\t" << cc.barrelEndcapEtaDiv_ << ", ecalOnlyDiv:\t" << cc.ecalOnlyDiv_;
00316         s << ", \nhcalOnlyDiv:\t" << cc.hcalOnlyDiv_ << ", doCorrection:\t" << cc.doCorrection_;
00317         s << ", \nallowNegativeEnergy:\t" << cc.allowNegativeEnergy_;
00318         s << ", \ncorrectionLowLimit:\t" << cc.correctionLowLimit_ << ",parameters:\t" << cc.globalP0_ << ", ";
00319         s << cc.globalP1_ << ", " << cc.lowEP0_ << ", " << cc.lowEP1_;
00320         s << "\ndoEtaCorrection:\t" << cc.doEtaCorrection_;
00321         return s;
00322 }

std::ostream& pftools::operator<< ( std::ostream &  s,
const pftools::ParticleDeposit p 
)

Definition at line 101 of file ParticleDeposit.cc.

References d, pftools::Deposition::getDetectorElement(), pftools::Deposition::getEnergy(), pftools::ParticleDeposit::getEnergyResolution(), pftools::Deposition::getEta(), pftools::ParticleDeposit::getEta(), pftools::ParticleDeposit::getId(), pftools::Deposition::getPhi(), pftools::ParticleDeposit::getPhi(), pftools::ParticleDeposit::getRecDepositions(), pftools::ParticleDeposit::getRecEnergy(), and pftools::ParticleDeposit::getTruthEnergy().

00101                                                                               {
00102         s << "Particle id:\t" << p.getId() << ", \t trueEnergy: " << p.getTruthEnergy() << "\n";
00103         s.width(3);
00104         s << "\tEta:\t" << p.getEta() << ",\tphi:\t" << p.getPhi() << "\n";
00105         for (std::vector<Deposition>::const_iterator cit = p.getRecDepositions().begin(); cit
00106                         != p.getRecDepositions().end(); ++cit) {
00107                 Deposition d = *cit;
00108                 DetectorElementPtr de(d.getDetectorElement());
00109                 s << "\t" << *de << ": \t=> E_contrib = ";
00110                 s << de->getCalib(d.getEta(), d.getPhi()) * d.getEnergy() << "\n";
00111         }
00112         s << "\tTotalRecEnergy: " << p.getRecEnergy() << ",\t res: " << p.getEnergyResolution() * 100 << "%\n";
00113         return s;
00114 }

std::ostream& pftools::operator<< ( std::ostream &  s,
const DetectorElement de 
)

Definition at line 38 of file DetectorElement.cc.

References DetElNames, pftools::DetectorElement::getCalib(), and pftools::DetectorElement::getType().

00038                                                                         {
00039         s << "DetectorElement: " << pftools::DetElNames[de.getType()] << ", \tcalib: " << de.getCalib();
00040 
00041         return s;
00042 }

std::ostream& pftools::operator<< ( std::ostream &  s,
const Deposition d 
)

Definition at line 12 of file Deposition.cc.

References pftools::Deposition::getDetectorElement(), pftools::Deposition::getEnergy(), pftools::Deposition::getEta(), and pftools::Deposition::getPhi().

00012                                                                   {
00013         s << "Deposit's type: "<< *(d.getDetectorElement()) << "\tE:\t"<< d.getEnergy()
00014                         << ", \teta:\t"<< d.getEta() << ", \tmyPhi:\t"<< d.getPhi() << "\n";
00015         return s;
00016 }

std::ostream & pftools::operator<< ( std::ostream &  s,
const LinearCalibration lc 
)

Definition at line 47 of file LinearCalibration.cc.

References pftools::LinearCalibration::a_, pftools::LinearCalibration::b_, and pftools::LinearCalibration::c_.

00047                                                                           {
00048         s << "LinearCalibration:  a, b, c = {" << lc.a_ << ", " << lc.b_ << ", " << lc.c_ << "}\n";
00049         return s;
00050 }

std::ostream & pftools::operator<< ( std::ostream &  s,
const Calibratable calib_ 
)

Definition at line 5 of file Calibratable.cc.

References pftools::Calibratable::cand_energyEcal_, pftools::Calibratable::cand_energyEvent_, pftools::Calibratable::cand_energyHcal_, pftools::Calibratable::cand_eta_, pftools::Calibratable::cand_phi_, pftools::Calibratable::cluster_energyEcal_, pftools::Calibratable::cluster_energyEvent_, pftools::Calibratable::cluster_energyHcal_, pftools::Calibratable::rechits_energyEcal_, pftools::Calibratable::rechits_energyEvent_, pftools::Calibratable::rechits_energyHcal_, pftools::Calibratable::sim_energyEvent_, pftools::Calibratable::sim_etaEcal_, and pftools::Calibratable::sim_phiEcal_.

00005                                                                          {
00006         s << "Calibratable summary:\n\tsim:\t\t("
00007         << calib_.sim_energyEvent_<< "),\t["<< calib_.sim_etaEcal_
00008         << ", "<< calib_.sim_phiEcal_<< "]\n";
00009         s << "\trechits:\t("<< calib_.rechits_energyEvent_<< ", "
00010         << calib_.rechits_energyEcal_<< ", "
00011         << calib_.rechits_energyHcal_<< ")\n";
00012         s << "\tcluster:\t("<< calib_.cluster_energyEvent_<< ", "
00013         << calib_.cluster_energyEcal_<< ", "
00014         << calib_.cluster_energyHcal_<< ")\n";
00015         s << "\tcands:\t\t("<< calib_.cand_energyEvent_<< ", "
00016         << calib_.cand_energyEcal_<< ", "
00017         << calib_.cand_energyHcal_<< "), ";
00018         s << "\t["<< calib_.cand_eta_<< ", "
00019         << calib_.cand_phi_<< "]\n";
00020         
00021         return s;
00022 }


Variable Documentation

const char* const pftools::DetElNames[] = { "ECAL", "HCAL", "PRESHOWER", "OFFSET", "ECAL2", "HCAL2" }

Definition at line 23 of file DetectorElementType.h.

Referenced by pftools::Exercises3::evaluateSpaceManager(), pftools::Exercises2::evaluateSpaceManager(), pftools::SpaceManager::extractEvolution(), and operator<<().

const char* const pftools::RegionNames[] = { "NOREGION", "BARREL_POS", "TRANSITION_POS", "ENDCAP_POS" }

Definition at line 11 of file Region.h.

Referenced by pftools::Exercises3::evaluateSpaceManager(), pftools::Exercises2::evaluateSpaceManager(), and pftools::SpaceManager::extractEvolution().


Generated on Tue Jun 9 18:50:05 2009 for CMSSW by  doxygen 1.5.4