CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/DataFormats/JetReco/interface/FFTJetProducerSummary.h

Go to the documentation of this file.
00001 
00009 #ifndef DataFormats_JetReco_FFTJetProducerSummary_h
00010 #define DataFormats_JetReco_FFTJetProducerSummary_h
00011 
00012 #include <vector>
00013 
00014 #include "DataFormats/Math/interface/LorentzVector.h"
00015 #include "DataFormats/Candidate/interface/CandidateFwd.h"
00016 
00017 namespace reco {
00018     class FFTJetProducerSummary
00019     {
00020     public:
00021         // Must have a default constructor
00022         inline FFTJetProducerSummary() 
00023           : unused_(0.f), minScale_(0.f), maxScale_(0.f), scaleUsed_(0.f),
00024             preclustersFound_(0), iterationsPerformed_(0), converged_(false) {}
00025 
00026         // Meaningful constructor
00027         FFTJetProducerSummary(const std::vector<double>& thresholds,
00028                               const std::vector<unsigned>& levelOccupancy,
00029                               const math::XYZTLorentzVector& unclustered,
00030                               const std::vector<CandidatePtr>& constituents,
00031                               double unused, double minScale, double maxScale,
00032                               double scaleUsed, unsigned preclustersFound,
00033                               unsigned iterationsPerformed, bool converged);
00034 
00035         // Vector of occupancy thresholds generated by
00036         // the locally adaptive resolution scheme
00037         inline const std::vector<float>& thresholds() const
00038             {return thresholds_;}
00039 
00040         // Clustering tree occupancy as a function of the level number
00041         inline const std::vector<unsigned>& levelOccupancy() const
00042             {return levelOccupancy_;}
00043 
00044         // Raw unclustered energy 4-vector
00045         inline const math::XYZTLorentzVector& unclustered() const
00046             {return unclustered_;}
00047 
00048         // Pointers to unclustered energy constituents
00049         inline const std::vector<CandidatePtr>& unclusteredConstituents() const
00050             {return unclusConstituents_;}
00051 
00052         // Scalar sum of unclustered transverse energies
00053         inline float unusedEt() const {return unused_;}
00054 
00055         // Minimum and maximum resolution scales to be used for
00056         // configuration stability calculations
00057         inline float minScale() const {return minScale_;}
00058         inline float maxScale() const {return maxScale_;}
00059 
00060         // The scale actually used to lookup clusters.
00061         // This info is useful mostly for maximally stable
00062         // and globally adaptive resolution schemes.
00063         inline float scaleUsed() const {return scaleUsed_;}
00064 
00065         // Number of preclusters found by the peak selection code.
00066         // Should normally coincide with the number of jets.
00067         inline unsigned preclustersFound() const {return preclustersFound_;}
00068 
00069         // Actual number of iterations made by the jet reconstruction
00070         // algorithm
00071         inline unsigned iterationsPerformed() const
00072             {return iterationsPerformed_;}
00073 
00074         // Did the jet reconstruction algorithm converge?
00075         inline bool iterationsConverged() const {return converged_;}
00076 
00077     private:
00078         std::vector<float> thresholds_;
00079         std::vector<unsigned> levelOccupancy_;
00080         math::XYZTLorentzVector unclustered_;
00081         std::vector<CandidatePtr> unclusConstituents_;
00082         float unused_;
00083         float minScale_;
00084         float maxScale_;
00085         float scaleUsed_;
00086         unsigned preclustersFound_;
00087         unsigned iterationsPerformed_;
00088         bool converged_;
00089     };
00090 }
00091 
00092 #endif // DataFormats_JetReco_FFTJetProducerSummary_h