Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include "Alignment/CommonAlignmentProducer/interface/AlignmentSeedSelector.h"

// constructor ----------------------------------------------------------------

AlignmentSeedSelector::AlignmentSeedSelector(const edm::ParameterSet& cfg)
    : applySeedNumber(cfg.getParameter<bool>("applySeedNumber")),
      minNSeeds(cfg.getParameter<int>("minNSeeds")),
      maxNSeeds(cfg.getParameter<int>("maxNSeeds")) {
  if (applySeedNumber)
    edm::LogInfo("AlignmentSeedSelector") << "apply seedNumber N<=" << minNSeeds;
}

void AlignmentSeedSelector::fillPSetDescription(edm::ParameterSetDescription& desc) {
  desc.add<bool>("applySeedNumber", false);
  desc.add<int>("minNSeeds", 0);
  desc.add<int>("maxNSeeds", 999999.);
}

// destructor -----------------------------------------------------------------

AlignmentSeedSelector::~AlignmentSeedSelector() {}

// do selection ---------------------------------------------------------------

AlignmentSeedSelector::Seeds AlignmentSeedSelector::select(const Seeds& seeds, const edm::Event& evt) const {
  Seeds result = seeds;

  // apply minimum/maximum multiplicity requirement (if selected)
  if (applySeedNumber) {
    if (result.size() < (unsigned int)minNSeeds || result.size() > (unsigned int)maxNSeeds)
      result.clear();
  }

  return result;
}

// make basic cuts ------------------------------------------------------------

/* AlignmentSeedSelector::Seeds 
AlignmentSeedSelector::basicCuts(const Seeds& seeds) const 
{
  Seeds result;

  
  return result;
}

//-----------------------------------------------------------------------------

AlignmentSeedSelector::Seeds 
AlignmentSeedSelector::theNHighestPtSeeds(const Seeds& seeds) const
{
 
  Seeds result;


  return result;
}
*/