2 #include "JetStability.h"
3 #include "ClusterAnalysis.h"
4 #include "ClusteringComparison.h"
6 #include "DiffusionDistFastJet.h"
7 #include "fastjet/ClusterSequence.hh"
19 const double dDistCut = (m_maxDcut-m_minDcut)/m_nScan;
20 for (
unsigned d=0; d != m_nScan; d++ ) {
22 smearAgent.
smear(smearedEvent);
24 const double dCut = m_minDcut+dDistCut*d;
27 fastjet::JetDefinition jet_def(&fjDiffDist);
28 fastjet::ClusterSequence cs(smearedEvent,jet_def);
35 assert( dCut == cAnalysis.
dCut() );
40 for (
unsigned c=0; c != m_nCycles; c++ ) {
43 smearAgent.
smear(smearedEvent);
45 fastjet::ClusterSequence cst(smearedEvent,jet_def);
51 m_pairwiseRandStability[d].push_back(cAnalysis.
doStability(randIndex));
53 m_pairwiseJaccardStability[d].push_back(cAnalysis.
doStability(jaccardIndex));
54 m_pairwisePtMinMatchStability[d].push_back(cAnalysis.
doStability(m_ptMinMatchIndex));
56 m_fuzzinessNJet[d].push_back(cAnalysis.
doFuzziness(m_fuzzyNjetCalc));
57 m_fuzzinessPt[d].push_back(cAnalysis.
doFuzziness(m_fuzzyPtSumCalc));
58 m_fuzzinessNJetQ[d].push_back(cAnalysis.
doFuzziness(m_fuzzyNjetQuadCalc));
59 m_fuzzinessPtQ[d].push_back(cAnalysis.
doFuzziness(m_fuzzyPtSumQuadCalc));
double doStability(const ClusteringComparisonIndex &, const StabilityCalcMethod method=PAIRWISE)
perform the stability calculation
double doFuzziness(const AbsFuzzinessCalculator &)
perform the fuzziness calculation
void fill(const fastjet::ClusterSequence &)
Add results of latest clustering to stability consideration.
double dCut() const
return the distance cut-off value
virtual void smear(Event &)=0
smear the event, return the smeared event via the function argument.
virtual void initialize(const Event &, const StabilityEventInfo &)=0
initialize the smearing agent with the initial event
void initialize(const fastjet::ClusterSequence &)
Initialize internal data from first clustering results.
void run(AbsSmearingAgent &)
Run the stability analysis.