CMS 3D CMS Logo

Public Member Functions | Private Attributes

TtFullHadSignalSel Class Reference

#include <TtFullHadSignalSel.h>

List of all members.

Public Member Functions

double aplanarity (bool allJets=false) const
double aplanarityAllCMS () const
double C (bool allJets=false) const
double CAllCMS () const
double centrality (bool alternative=false) const
double circularity (bool allJets=false) const
double circularityAllCMS () const
double CSV_Bjet (unsigned short i) const
double CSV_Bjets () const
double CSVMVA_Bjet (unsigned short i) const
double CSVMVA_Bjets () const
double D (bool allJets=false) const
double DAllCMS () const
double dRMin (unsigned short i) const
double dRMinAngle (unsigned short i) const
double dRMinMass (unsigned short i) const
double Et56 () const
double EtSin2Theta (unsigned short i, bool boosted=false) const
double EtSin2Theta3jet (bool boosted=false) const
double H () const
double Ht () const
double Ht123 () const
double Ht3jet () const
double isotropy (bool allJets=false) const
double isotropyAllCMS () const
double jet_etaetaMoment (unsigned short i, bool noB=false) const
double jet_etaetaMomentLogEt (unsigned short i) const
double jet_etaetaMomentMoment (unsigned short i) const
double jet_etaetaMomentMomentLogEt (unsigned short i) const
double jet_etaphiMoment (unsigned short i, bool noB=false) const
double jet_etaphiMomentLogEt (unsigned short i) const
double jet_etaphiMomentMoment (unsigned short i) const
double jet_etaphiMomentMomentLogEt (unsigned short i) const
double jet_phiphiMoment (unsigned short i, bool noB=false) const
double jet_phiphiMomentLogEt (unsigned short i) const
double jet_phiphiMomentMoment (unsigned short i) const
double jet_phiphiMomentMomentLogEt (unsigned short i) const
double jets_etaetaMoment (bool noB=false) const
double jets_etaetaMomentLogEt () const
double jets_etaphiMoment (bool noB=false) const
double jets_etaphiMomentLogEt () const
double jets_phiphiMoment (bool noB=false) const
double jets_phiphiMomentLogEt () const
double M3 () const
double massDiffMWCands (unsigned short i) const
double pt (unsigned short i) const
double pti_ptj (unsigned short i, unsigned short j, bool norm=false) const
double sinTheta (unsigned short i, bool boosted=false) const
double sinTheta3jet (bool boosted=false) const
double SM_Bjet (unsigned short i) const
double SM_Bjets () const
double sphericity (bool allJets=false) const
double sphericityAllCMS () const
double sqrt_s () const
double SSVHE_Bjet (unsigned short i) const
double SSVHE_Bjets () const
double SSVHP_Bjet (unsigned short i) const
double SSVHP_Bjets () const
double sumDR3JetMin (unsigned short i) const
double sumDR3JetMinMass (unsigned short i) const
double TCHE_Bjet (unsigned short i) const
double TCHE_Bjets () const
double TCHP_Bjet (unsigned short i) const
double TCHP_Bjets () const
double theta (unsigned short i, bool boosted=false) const
double theta3jet (bool boosted=false) const
double thrust (bool inCMS=false) const
 TtFullHadSignalSel (const std::vector< pat::Jet > &)
 TtFullHadSignalSel ()
 ~TtFullHadSignalSel ()

Private Attributes

double aplanarity_
double aplanarityAll_
double aplanarityAllCMS_
double C_
double CAll_
double CAllCMS_
double circularity_
double circularityAll_
double circularityAllCMS_
std::vector< double > CSV_BJet_Discs_
double CSV_Bjets_
std::vector< double > CSVMVA_BJet_Discs_
double CSVMVA_Bjets_
double D_
double DAll_
double DAllCMS_
std::vector< double > dR3Jets_
std::vector< double > dR3JetsMass_
std::vector< double > dR_
std::vector< double > dRAngle_
std::vector< double > dRMass_
double Et56_
std::vector< double > etaetaMoments_
std::vector< double > etaetaMomentsLogEt_
std::vector< double > etaetaMomentsMoment_
std::vector< double > etaetaMomentsMomentLogEt_
std::vector< double > etaetaMomentsNoB_
std::vector< double > etaphiMoments_
std::vector< double > etaphiMomentsLogEt_
std::vector< double > etaphiMomentsMoment_
std::vector< double > etaphiMomentsMomentLogEt_
std::vector< double > etaphiMomentsNoB_
double EtSin2Theta3jet_
std::vector< double > EtSin2Thetas_
double EtStar3jet_
std::vector< double > EtStars_
double H_
double Ht123_
double Ht3jet_
double Ht_
double isotropy_
double isotropyAll_
double isotropyAllCMS_
double jets_etaetaMoment_
double jets_etaetaMomentLogEt_
double jets_etaetaMomentNoB_
double jets_etaphiMoment_
double jets_etaphiMomentLogEt_
double jets_etaphiMomentNoB_
double jets_phiphiMoment_
double jets_phiphiMomentLogEt_
double jets_phiphiMomentNoB_
double M3_
std::vector< double > massDiffMWCands_
std::vector< double > phiphiMoments_
std::vector< double > phiphiMomentsLogEt_
std::vector< double > phiphiMomentsMoment_
std::vector< double > phiphiMomentsMomentLogEt_
std::vector< double > phiphiMomentsNoB_
std::vector< double > pts_
double sinTheta3jet_
double sinThetaStar3jet_
std::vector< double > SM_BJet_Discs_
double SM_Bjets_
double sphericity_
double sphericityAll_
double sphericityAllCMS_
double sqrt_s_
std::vector< double > SSVHE_BJet_Discs_
double SSVHE_Bjets_
std::vector< double > SSVHP_BJet_Discs_
double SSVHP_Bjets_
std::vector< double > TCHE_BJet_Discs_
double TCHE_Bjets_
std::vector< double > TCHP_BJet_Discs_
double TCHP_Bjets_
double theta3jet_
std::vector< double > thetas_
double thetaStar3jet_
std::vector< double > thetaStars_
double thrust_
double thrustCMS_

Detailed Description

Definition at line 10 of file TtFullHadSignalSel.h.


Constructor & Destructor Documentation

TtFullHadSignalSel::TtFullHadSignalSel ( )

Definition at line 8 of file TtFullHadSignalSel.cc.

{
}
TtFullHadSignalSel::TtFullHadSignalSel ( const std::vector< pat::Jet > &  jets)

Definition at line 29 of file TtFullHadSignalSel.cc.

References abs, EventShapeVariables::aplanarity(), aplanarity_, aplanarityAll_, aplanarityAllCMS_, begin, EventShapeVariables::C(), C_, CAll_, CAllCMS_, EventShapeVariables::circularity(), circularity_, circularityAll_, circularityAllCMS_, CSV_BJet_Discs_, CSV_Bjets_, CSVMVA_BJet_Discs_, CSVMVA_Bjets_, EventShapeVariables::D(), D_, DAll_, DAllCMS_, deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, dR3Jets_, dR3JetsMass_, dR_, dRAngle_, dRMass_, end, Et56_, eta(), etaetaMoments_, etaetaMomentsLogEt_, etaetaMomentsMoment_, etaetaMomentsMomentLogEt_, etaetaMomentsNoB_, etaphiMoments_, etaphiMomentsLogEt_, etaphiMomentsMoment_, etaphiMomentsMomentLogEt_, etaphiMomentsNoB_, EtSin2Theta3jet_, EtSin2Thetas_, EtStar3jet_, EtStars_, H_, Ht123_, Ht3jet_, Ht_, i, EventShapeVariables::isotropy(), isotropy_, isotropyAll_, isotropyAllCMS_, j, metsig::jet, jets_etaetaMoment_, jets_etaetaMomentLogEt_, jets_etaetaMomentNoB_, jets_etaphiMoment_, jets_etaphiMomentLogEt_, jets_etaphiMomentNoB_, jets_phiphiMoment_, jets_phiphiMomentLogEt_, jets_phiphiMomentNoB_, create_public_lumi_plots::log, M3_, M_PI, makeVecForEventShape(), massDiffMWCands_, p4, phi, phiphiMoments_, phiphiMomentsLogEt_, phiphiMomentsMoment_, phiphiMomentsMomentLogEt_, phiphiMomentsNoB_, funct::pow(), pt(), pts_, funct::sin(), sinTheta3jet_, sinThetaStar3jet_, SM_BJet_Discs_, SM_Bjets_, python::multivaluedict::sort(), EventShapeVariables::sphericity(), sphericity_, sphericityAll_, sphericityAllCMS_, sqrt_s_, SSVHE_BJet_Discs_, SSVHE_Bjets_, SSVHP_BJet_Discs_, SSVHP_Bjets_, TCHE_BJet_Discs_, TCHE_Bjets_, TCHP_BJet_Discs_, TCHP_Bjets_, theta3jet_, thetas_, thetaStar3jet_, thetaStars_, thrust_, and thrustCMS_.

{

  H_      = -1.;
  Ht_     = -1.;
  Ht123_  = -1.;
  Ht3jet_ = -1.;
  Et56_   = -1.;
  sqrt_s_ = -1.;
  M3_     = -1.;
  
  TCHE_Bjets_   = 0.;
  TCHP_Bjets_   = 0.;
  SSVHE_Bjets_  = 0.;
  SSVHP_Bjets_  = 0.;
  CSV_Bjets_    = 0.;
  CSVMVA_Bjets_ = 0.;
  SM_Bjets_     = 0.;

  jets_etaetaMoment_ = 0.;
  jets_etaphiMoment_ = 0.;
  jets_phiphiMoment_ = 0.;

  jets_etaetaMomentLogEt_ = 0.;
  jets_etaphiMomentLogEt_ = 0.;
  jets_phiphiMomentLogEt_ = 0.;

  jets_etaetaMomentNoB_ = 0.;
  jets_etaphiMomentNoB_ = 0.;
  jets_phiphiMomentNoB_ = 0.;

  aplanarity_  = -1.;
  sphericity_  = -1.;
  circularity_ = -1.;
  isotropy_ = -1.;
  C_ = -1.;
  D_ = -1.;

  aplanarityAll_  = -1.;
  sphericityAll_  = -1.;
  circularityAll_ = -1.;
  isotropyAll_ = -1.;
  CAll_ = -1.;
  DAll_ = -1.;

  aplanarityAllCMS_  = -1.;
  sphericityAllCMS_  = -1.;
  circularityAllCMS_ = -1.;
  isotropyAllCMS_ = -1.;
  CAllCMS_ = -1.;
  DAllCMS_ = -1.;

  thrust_ = -1.;
  thrustCMS_ = -1.;

  TCHE_BJet_Discs_   = std::vector<double>(0);
  TCHP_BJet_Discs_   = std::vector<double>(0);
  SSVHE_BJet_Discs_  = std::vector<double>(0);
  SSVHP_BJet_Discs_  = std::vector<double>(0);
  CSV_BJet_Discs_    = std::vector<double>(0);
  CSVMVA_BJet_Discs_ = std::vector<double>(0);
  SM_BJet_Discs_     = std::vector<double>(0);

  pts_               = std::vector<double>(0);
  EtSin2Thetas_      = std::vector<double>(0);
  thetas_            = std::vector<double>(0);
  thetaStars_        = std::vector<double>(0);
  EtStars_           = std::vector<double>(0);

  EtSin2Theta3jet_  = 0.;
  theta3jet_        = 0.;
  thetaStar3jet_    = 0.;
  sinTheta3jet_     = 0.;
  sinThetaStar3jet_ = 0.;
  EtStar3jet_       = 0.;

  etaetaMoments_ = std::vector<double>(0);
  etaphiMoments_ = std::vector<double>(0);
  phiphiMoments_ = std::vector<double>(0);
 
  etaetaMomentsLogEt_ = std::vector<double>(0);
  etaphiMomentsLogEt_ = std::vector<double>(0);
  phiphiMomentsLogEt_ = std::vector<double>(0);
 
  etaetaMomentsMoment_ = std::vector<double>(0);
  etaphiMomentsMoment_ = std::vector<double>(0);
  phiphiMomentsMoment_ = std::vector<double>(0);
 
  etaetaMomentsMomentLogEt_ = std::vector<double>(0);
  etaphiMomentsMomentLogEt_ = std::vector<double>(0);
  phiphiMomentsMomentLogEt_ = std::vector<double>(0);
 
  etaetaMomentsNoB_ = std::vector<double>(0);
  etaphiMomentsNoB_ = std::vector<double>(0);
  phiphiMomentsNoB_ = std::vector<double>(0);
 
  dR_      = std::vector<double>(0);
  dRMass_  = std::vector<double>(0);
  dRAngle_ = std::vector<double>(0);

  dR3Jets_     = std::vector<double>(0);
  dR3JetsMass_ = std::vector<double>(0);

  massDiffMWCands_ = std::vector<double>(0);

  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > totalSystem(0.,0.,0.,0.);

  std::vector< std::pair< double, std::vector<unsigned short> > > dRs(0);
  std::vector< std::pair< double, std::vector<unsigned short> > > dRs3Jets(0);

  std::vector< std::pair< double, std::vector<unsigned short> > > M3s(0);

  std::vector<ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > > fourVectors(0);

  unsigned short nonBJets = 0;
  for(std::vector<pat::Jet>::const_iterator jet = jets.begin(); jet != jets.end(); ++jet){

    H_      += jet->energy();
    Ht_     += jet->et();

    if(jet - jets.begin() < 3){
      Ht123_  += jet->et();
    }
    if(jet - jets.begin() == 4 || jet - jets.begin() == 5)
      Et56_ += jet->et();

    if(jet - jets.begin() > 1){
      Ht3jet_ += jet->et();
      EtSin2Theta3jet_ += jet->et()*pow(sin(jet->theta()),2);
      theta3jet_ += (jet->theta() > M_PI/2.)? (M_PI - jet->theta()) : jet->theta();
      sinTheta3jet_ += sin(jet->theta());
    }

    TCHE_BJet_Discs_  .push_back( jet->bDiscriminator("trackCountingHighEffBJetTags")         );
    TCHP_BJet_Discs_  .push_back( jet->bDiscriminator("trackCountingHighPurBJetTags")         );
    SSVHE_BJet_Discs_ .push_back( jet->bDiscriminator("simpleSecondaryVertexHighEffBJetTags") );
    SSVHP_BJet_Discs_ .push_back( jet->bDiscriminator("simpleSecondaryVertexHighPurBJetTags") );
    CSV_BJet_Discs_   .push_back( jet->bDiscriminator("combinedSecondaryVertexBJetTags")      );
    CSVMVA_BJet_Discs_.push_back( jet->bDiscriminator("combinedSecondaryVertexMVABJetTags")   );
    SM_BJet_Discs_    .push_back( jet->bDiscriminator("softMuonBJetTags")                     );
    
    pts_         .push_back(jet->pt());
    EtSin2Thetas_.push_back(jet->et()*pow(sin(jet->theta()),2));
    thetas_      .push_back( (jet->theta() > M_PI/2.)? (M_PI - jet->theta()) : jet->theta() );

    fourVectors.push_back(jet->p4());

    if(jet->bDiscriminator("trackCountingHighEffBJetTags")         > 3.3  ) ++TCHE_Bjets_;
    if(jet->bDiscriminator("trackCountingHighPurBJetTags")         > 3.41 ) ++TCHP_Bjets_;
    if(jet->bDiscriminator("simpleSecondaryVertexHighEffBJetTags") > 1.74 ) ++SSVHE_Bjets_;
    if(jet->bDiscriminator("simpleSecondaryVertexHighPurBJetTags") > 2.0  ) ++SSVHP_Bjets_;
    if(jet->bDiscriminator("combinedSecondaryVertexBJetTags")      > 0.75 ) ++CSV_Bjets_;
    if(jet->bDiscriminator("combinedSecondaryVertexMVABJetTags")   > 0.75 ) ++CSVMVA_Bjets_;
    if(jet->bDiscriminator("softMuonBJetTags")                     > 0.3  ) ++SM_Bjets_;
    
    if(jet->nConstituents() > 0){
      //if( jet->daughterPtr(0).productGetter()->getIt(jet->daughterPtr(0).id()) != 0 ){
        etaetaMoments_.push_back(         jet->etaetaMoment() );
        etaphiMoments_.push_back(std::abs(jet->etaphiMoment()));
        phiphiMoments_.push_back(         jet->phiphiMoment() );
        
        jets_etaetaMoment_ +=          jet->etaetaMoment();
        jets_etaphiMoment_ += std::abs(jet->etaphiMoment());
        jets_phiphiMoment_ +=          jet->phiphiMoment();

        etaetaMomentsLogEt_.push_back(         jet->etaetaMoment() *log(jet->et()));
        etaphiMomentsLogEt_.push_back(std::abs(jet->etaphiMoment())*log(jet->et()));
        phiphiMomentsLogEt_.push_back(         jet->phiphiMoment() *log(jet->et()));

        jets_etaetaMomentLogEt_ +=          jet->etaetaMoment() *log(jet->et());
        jets_etaphiMomentLogEt_ += std::abs(jet->etaphiMoment())*log(jet->et());
        jets_phiphiMomentLogEt_ +=          jet->phiphiMoment() *log(jet->et());
 
        if(jet->bDiscriminator("trackCountingHighEffBJetTags")         < 3.3  && jet->bDiscriminator("trackCountingHighPurBJetTags")         < 1.93 &&
           jet->bDiscriminator("simpleSecondaryVertexHighEffBJetTags") < 1.74 && jet->bDiscriminator("simpleSecondaryVertexHighPurBJetTags") < 2.0  ){

          ++nonBJets;

          etaetaMomentsNoB_.push_back(         jet->etaetaMoment() );
          etaphiMomentsNoB_.push_back(std::abs(jet->etaphiMoment()));
          phiphiMomentsNoB_.push_back(         jet->phiphiMoment() );
          
          jets_etaetaMomentNoB_ +=          jet->etaetaMoment();
          jets_etaphiMomentNoB_ += std::abs(jet->etaphiMoment());
          jets_phiphiMomentNoB_ +=          jet->phiphiMoment();
        }
        //}
    }

    for(std::vector<pat::Jet>::const_iterator jet2 = jet+1; jet2 != jets.end(); ++jet2){
      unsigned short comb2A[2] = { (unsigned short)(jet-jets.begin()) , (unsigned short)(jet2-jets.begin()) };
      std::vector<unsigned short> comb2(comb2A, comb2A + sizeof(comb2A) / sizeof(unsigned short));
      dRs.push_back( std::make_pair( deltaR( jet->phi(), jet->eta(), jet2->phi(), jet2->eta() ), comb2 ) );

      for(std::vector<pat::Jet>::const_iterator jet3 = jet2+1; jet3 != jets.end(); ++jet3){
        unsigned short comb3A[3] = { (unsigned short)(jet-jets.begin()) , (unsigned short)(jet2-jets.begin()) , (unsigned short)(jet3-jets.begin()) };
        std::vector<unsigned short> comb3(comb3A, comb3A + sizeof(comb3A) / sizeof(unsigned short));
        double dR1 = deltaR( jet ->eta(), jet ->phi(), jet2->eta(), jet2->phi() );
        double dR2 = deltaR( jet ->eta(), jet ->phi(), jet3->eta(), jet3->phi() );
        double dR3 = deltaR( jet2->eta(), jet2->phi(), jet3->eta(), jet3->phi() );
        dRs3Jets.push_back( std::make_pair( dR1+dR2+dR3, comb3 ) );
        M3s.push_back( std::make_pair( ( jet->p4() + jet2->p4() + jet3->p4() ).pt(), comb3 ) );
      }
    }

    totalSystem += jet->p4();
  }

  ROOT::Math::Boost CoMBoostTotal(totalSystem.BoostToCM());
  std::vector<reco::LeafCandidate> boostedJets;

  for(std::vector<pat::Jet>::const_iterator jet = jets.begin(); jet != jets.end(); ++jet){
    boostedJets.push_back(reco::LeafCandidate(jet->charge(), CoMBoostTotal(jet->p4()), jet->vertex(), jet->pdgId(), jet->status(), true));
  }

  EtSin2Theta3jet_ /= ((double)(jets.size()-3));
  theta3jet_       /= ((double)(jets.size()-3));
  sinTheta3jet_    /= ((double)(jets.size()-3));

  jets_etaetaMoment_ /= (double)jets.size();
  jets_etaphiMoment_ /= (double)jets.size();
  jets_phiphiMoment_ /= (double)jets.size();

  jets_etaetaMomentLogEt_ /= (double)jets.size();
  jets_etaphiMomentLogEt_ /= (double)jets.size();
  jets_phiphiMomentLogEt_ /= (double)jets.size();

  if(nonBJets){
    jets_etaetaMomentNoB_ /= (double)nonBJets;
    jets_etaphiMomentNoB_ /= (double)nonBJets;
    jets_phiphiMomentNoB_ /= (double)nonBJets;
  }

  for(unsigned short i = 0 ; i < etaetaMoments_.size() ; ++i){
    etaetaMomentsMoment_.push_back(etaetaMoments_.at(i)/jets_etaetaMoment_);
    etaphiMomentsMoment_.push_back(etaphiMoments_.at(i)/jets_etaphiMoment_);
    phiphiMomentsMoment_.push_back(phiphiMoments_.at(i)/jets_phiphiMoment_);

    etaetaMomentsMomentLogEt_.push_back(etaetaMomentsLogEt_.at(i)/jets_etaetaMomentLogEt_);
    etaphiMomentsMomentLogEt_.push_back(etaphiMomentsLogEt_.at(i)/jets_etaphiMomentLogEt_);
    phiphiMomentsMomentLogEt_.push_back(phiphiMomentsLogEt_.at(i)/jets_phiphiMomentLogEt_);
  }

  std::sort(dRs     .begin(), dRs     .end());
  std::sort(dRs3Jets.begin(), dRs3Jets.end());
  
  for(std::vector< std::pair< double, std::vector<unsigned short> > >::const_iterator dR = dRs.begin(); dR != dRs.end(); ++dR){
    dR_.push_back(dR->first);
    dRMass_.push_back((jets.at(dR->second.at(0)).p4()+jets.at(dR->second.at(1)).p4()).mass());

    ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > wHypo = jets.at(dR->second.at(0)).p4()+jets.at(dR->second.at(1)).p4();
    TLorentzVector wHypoHelper(wHypo.Px(), wHypo.Py(), wHypo.Pz(), wHypo.E());
    wHypoHelper.SetVectM(TVector3(wHypo.Px(), wHypo.Py(), wHypo.Pz()), 80.4);
    wHypo.SetPxPyPzE(wHypoHelper.Px(), wHypoHelper.Py(), wHypoHelper.Pz(), wHypoHelper.E());
    ROOT::Math::Boost CoMBoostWHypo(wHypo.BoostToCM());
    dRAngle_.push_back(ROOT::Math::VectorUtil::Angle(CoMBoostWHypo(jets.at(dR->second.at(0)).p4()), CoMBoostWHypo(jets.at(dR->second.at(1)).p4())));
  }

  for(std::vector< std::pair< double, std::vector<unsigned short> > >::const_iterator dR = dRs3Jets.begin(); dR != dRs3Jets.end(); ++dR){
    dR3Jets_.push_back(dR->first);
    dR3JetsMass_.push_back((jets.at(dR->second.at(0)).p4()+jets.at(dR->second.at(1)).p4()+jets.at(dR->second.at(2)).p4()).mass());
  }

  std::vector< std::pair< double, unsigned short > > massDiff2W;

  for(std::vector< double >::const_iterator mass = dRMass_.begin(); mass != dRMass_.end(); ++mass){
    massDiff2W.push_back(std::make_pair(std::abs((*mass)-80.4), mass - dRMass_.begin()));
  }

  std::sort(massDiff2W.begin(), massDiff2W.end());
  
  //std::vector<std::pair< double, std::vector<unsigned short> > > massDiff;

  for(std::vector< std::pair< double, unsigned short > >::const_iterator i = massDiff2W.begin(); i != massDiff2W.end(); ++i){
    unsigned int mass1 = i->second;
    for(std::vector< std::pair< double, unsigned short > >::const_iterator j = i + 1; j != massDiff2W.end(); ++j){
      unsigned int mass2 = j->second;
      if(dRs.at(mass1).second.at(0) != dRs.at(mass2).second.at(0) && dRs.at(mass1).second.at(0) != dRs.at(mass2).second.at(1) &&
         dRs.at(mass1).second.at(1) != dRs.at(mass2).second.at(0) && dRs.at(mass1).second.at(1) != dRs.at(mass2).second.at(1)){
        //unsigned short combA[2] = { mass1 , mass2 };
        //std::vector<unsigned short> comb(combA, combA + sizeof(combA) / sizeof(unsigned short));
        //massDiff.push_back(std::make_pair(std::abs(dRMass_.at(mass1)-dRMass_.at(mass2)), comb));
        massDiffMWCands_.push_back(std::abs(dRMass_.at(mass1)-dRMass_.at(mass2)));
      }
    }
    if(massDiffMWCands_.size() > 20) break;
  }

  //std::sort(massDiff.begin(), massDiff.end());
  /*
  for(std::vector<std::pair< double, std::vector<unsigned short> > >::const_iterator diff = massDiff.begin(); diff != massDiff.end() ; ++diff){
    std::cout << "| "   << dRMass_.at(diff->second.at(0)) << "(" << diff->second.at(0)
              << ") - " << dRMass_.at(diff->second.at(1)) << "(" << diff->second.at(1)
              << ") | = " << diff->first << std::endl;
  }
  std::cout << "---------------------------------------------" << std::endl;
  */

  std::sort(TCHE_BJet_Discs_  .begin(), TCHE_BJet_Discs_  .end());
  std::sort(TCHP_BJet_Discs_  .begin(), TCHP_BJet_Discs_  .end());
  std::sort(SSVHE_BJet_Discs_ .begin(), SSVHE_BJet_Discs_ .end());
  std::sort(SSVHP_BJet_Discs_ .begin(), SSVHP_BJet_Discs_ .end());
  std::sort(CSV_BJet_Discs_   .begin(), CSV_BJet_Discs_   .end());
  std::sort(CSVMVA_BJet_Discs_.begin(), CSVMVA_BJet_Discs_.end());
  std::sort(SM_BJet_Discs_    .begin(), SM_BJet_Discs_    .end());

  std::sort(etaetaMoments_.begin(), etaetaMoments_.end());
  std::sort(etaphiMoments_.begin(), etaphiMoments_.end());
  std::sort(phiphiMoments_.begin(), phiphiMoments_.end());

  std::sort(etaetaMomentsLogEt_.begin(), etaetaMomentsLogEt_.end());
  std::sort(etaphiMomentsLogEt_.begin(), etaphiMomentsLogEt_.end());
  std::sort(phiphiMomentsLogEt_.begin(), phiphiMomentsLogEt_.end());

  std::sort(etaetaMomentsMoment_.begin(), etaetaMomentsMoment_.end());
  std::sort(etaphiMomentsMoment_.begin(), etaphiMomentsMoment_.end());
  std::sort(phiphiMomentsMoment_.begin(), phiphiMomentsMoment_.end());

  std::sort(etaetaMomentsMomentLogEt_.begin(), etaetaMomentsMomentLogEt_.end());
  std::sort(etaphiMomentsMomentLogEt_.begin(), etaphiMomentsMomentLogEt_.end());
  std::sort(phiphiMomentsMomentLogEt_.begin(), phiphiMomentsMomentLogEt_.end());

  std::sort(etaetaMomentsNoB_.begin(), etaetaMomentsNoB_.end());
  std::sort(etaphiMomentsNoB_.begin(), etaphiMomentsNoB_.end());
  std::sort(phiphiMomentsNoB_.begin(), phiphiMomentsNoB_.end());

  std::sort(M3s.begin(), M3s.end());
  M3_ = ( jets.at((M3s.back().second.at(0))).p4() +  jets.at((M3s.back().second.at(1))).p4() + jets.at((M3s.back().second.at(2))).p4() ).mass();

  sqrt_s_ = totalSystem.mass();

  for(std::vector<ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > >::const_iterator jet = fourVectors.begin(); jet != fourVectors.end(); ++jet){
    ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > boostedJet = CoMBoostTotal( *jet );
    if(jet - fourVectors.begin() > 1){
      thetaStar3jet_ += (boostedJet.Theta() > M_PI/2.)? (M_PI - boostedJet.Theta()) : boostedJet.Theta();
      sinThetaStar3jet_ += sin(boostedJet.Theta());
      EtStar3jet_ += jet->Et() * pow( sin( boostedJet.Theta() ), 2);
    }
    thetaStars_.push_back((boostedJet.Theta() > M_PI/2.)? (M_PI - boostedJet.Theta()) : boostedJet.Theta());
    EtStars_.push_back( jet->Et() * pow( sin( boostedJet.Theta() ), 2) );
  }

  theta3jet_        /= (double)fourVectors.size() - 2.;
  sinTheta3jet_     /= (double)fourVectors.size() - 2.;
  thetaStar3jet_    /= (double)fourVectors.size() - 2.;
  sinThetaStar3jet_ /= (double)fourVectors.size() - 2.;
  
  EventShapeVariables eventshape(makeVecForEventShape(jets));

  aplanarity_  = eventshape.aplanarity();
  sphericity_  = eventshape.sphericity();
  circularity_ = eventshape.circularity();
  isotropy_    = eventshape.isotropy();
  C_           = eventshape.C();
  D_           = eventshape.D();

  EventShapeVariables eventshapeAll(makeVecForEventShape(jets,false));

  aplanarityAll_  = eventshapeAll.aplanarity();
  sphericityAll_  = eventshapeAll.sphericity();
  circularityAll_ = eventshapeAll.circularity();
  isotropyAll_    = eventshapeAll.isotropy();
  CAll_           = eventshapeAll.C();
  DAll_           = eventshapeAll.D();

  EventShapeVariables eventshapeAllCMS(makeVecForEventShape(jets,false,CoMBoostTotal));

  aplanarityAllCMS_  = eventshapeAllCMS.aplanarity();
  sphericityAllCMS_  = eventshapeAllCMS.sphericity();
  circularityAllCMS_ = eventshapeAllCMS.circularity();
  isotropyAllCMS_    = eventshapeAllCMS.isotropy();
  CAllCMS_           = eventshapeAllCMS.C();
  DAllCMS_           = eventshapeAllCMS.D();

  Thrust thrustAlgo(jets.begin(), jets.end());
  thrust_ = thrustAlgo.thrust();

  Thrust thrustAlgoCMS(boostedJets.begin(), boostedJets.end());
  thrustCMS_ = thrustAlgoCMS.thrust();

}
TtFullHadSignalSel::~TtFullHadSignalSel ( )

Definition at line 411 of file TtFullHadSignalSel.cc.

{
}

Member Function Documentation

double TtFullHadSignalSel::aplanarity ( bool  allJets = false) const [inline]
double TtFullHadSignalSel::aplanarityAllCMS ( ) const [inline]

Definition at line 92 of file TtFullHadSignalSel.h.

References aplanarityAllCMS_.

Referenced by evaluateTtFullHadSignalSel().

{ return aplanarityAllCMS_;  }
double TtFullHadSignalSel::C ( bool  allJets = false) const [inline]

Definition at line 89 of file TtFullHadSignalSel.h.

References reco::JetExtendedAssociation::allJets(), C_, and CAll_.

Referenced by evaluateTtFullHadSignalSel().

{ return allJets ? CAll_           : C_;           }
double TtFullHadSignalSel::CAllCMS ( ) const [inline]

Definition at line 96 of file TtFullHadSignalSel.h.

References CAllCMS_.

Referenced by evaluateTtFullHadSignalSel().

{ return CAllCMS_;           }
double TtFullHadSignalSel::centrality ( bool  alternative = false) const [inline]

Definition at line 99 of file TtFullHadSignalSel.h.

References H_, Ht_, and sqrt_s_.

Referenced by evaluateTtFullHadSignalSel().

{ return alternative ? (Ht_/sqrt_s_) : (Ht_/H_); }
double TtFullHadSignalSel::circularity ( bool  allJets = false) const [inline]
double TtFullHadSignalSel::circularityAllCMS ( ) const [inline]

Definition at line 94 of file TtFullHadSignalSel.h.

References circularityAllCMS_.

Referenced by evaluateTtFullHadSignalSel().

{ return circularityAllCMS_; }
double TtFullHadSignalSel::CSV_Bjet ( unsigned short  i) const [inline]

Definition at line 39 of file TtFullHadSignalSel.h.

References CSV_BJet_Discs_, and findQualityFiles::size.

Referenced by evaluateTtFullHadSignalSel().

{ return (CSV_BJet_Discs_   .size() >= i) ? CSV_BJet_Discs_   .at(CSV_BJet_Discs_   .size()-i) : -100.; }
double TtFullHadSignalSel::CSV_Bjets ( ) const [inline]

Definition at line 31 of file TtFullHadSignalSel.h.

References CSV_Bjets_.

Referenced by evaluateTtFullHadSignalSel().

{ return CSV_Bjets_;    }
double TtFullHadSignalSel::CSVMVA_Bjet ( unsigned short  i) const [inline]

Definition at line 40 of file TtFullHadSignalSel.h.

References CSVMVA_BJet_Discs_, and i.

Referenced by evaluateTtFullHadSignalSel().

{ return (CSVMVA_BJet_Discs_.size() >= i) ? CSVMVA_BJet_Discs_.at(CSVMVA_BJet_Discs_.size()-i) : -100.; }
double TtFullHadSignalSel::CSVMVA_Bjets ( ) const [inline]

Definition at line 32 of file TtFullHadSignalSel.h.

References CSVMVA_Bjets_.

Referenced by evaluateTtFullHadSignalSel().

{ return CSVMVA_Bjets_; }
double TtFullHadSignalSel::D ( bool  allJets = false) const [inline]

Definition at line 90 of file TtFullHadSignalSel.h.

References reco::JetExtendedAssociation::allJets(), D_, and DAll_.

Referenced by evaluateTtFullHadSignalSel().

{ return allJets ? DAll_           : D_;           }
double TtFullHadSignalSel::DAllCMS ( ) const [inline]

Definition at line 97 of file TtFullHadSignalSel.h.

References DAllCMS_.

Referenced by evaluateTtFullHadSignalSel().

{ return DAllCMS_;           }
double TtFullHadSignalSel::dRMin ( unsigned short  i) const [inline]

Definition at line 103 of file TtFullHadSignalSel.h.

References dR_, and findQualityFiles::size.

Referenced by evaluateTtFullHadSignalSel().

{ return (dR_     .size() >= i) ? dR_     .at(i-1) : -1.; }
double TtFullHadSignalSel::dRMinAngle ( unsigned short  i) const [inline]

Definition at line 105 of file TtFullHadSignalSel.h.

References dRAngle_, and i.

Referenced by evaluateTtFullHadSignalSel().

{ return (dRAngle_.size() >= i) ? dRAngle_.at(i-1) : -1.; }
double TtFullHadSignalSel::dRMinMass ( unsigned short  i) const [inline]

Definition at line 104 of file TtFullHadSignalSel.h.

References dRMass_, and findQualityFiles::size.

Referenced by evaluateTtFullHadSignalSel().

{ return (dRMass_ .size() >= i) ? dRMass_ .at(i-1) : -1.; }
double TtFullHadSignalSel::Et56 ( ) const [inline]

Definition at line 24 of file TtFullHadSignalSel.h.

References Et56_.

Referenced by evaluateTtFullHadSignalSel().

{ return Et56_;   }
double TtFullHadSignalSel::EtSin2Theta ( unsigned short  i,
bool  boosted = false 
) const [inline]

Definition at line 45 of file TtFullHadSignalSel.h.

References asciidump::at, EtSin2Thetas_, EtStars_, and i.

Referenced by evaluateTtFullHadSignalSel().

                                                                  { return boosted? ( (EtStars_     .size() >= i) ? EtStars_       .at(i-1)  : -1.) :
                                                                                      (EtSin2Thetas_.size() >= i) ? EtSin2Thetas_  .at(i-1)  : -1.; }
double TtFullHadSignalSel::EtSin2Theta3jet ( bool  boosted = false) const [inline]

Definition at line 52 of file TtFullHadSignalSel.h.

References EtSin2Theta3jet_, and EtStar3jet_.

Referenced by evaluateTtFullHadSignalSel().

{ return boosted?       EtStar3jet_ : EtSin2Theta3jet_; }
double TtFullHadSignalSel::H ( ) const [inline]

Definition at line 19 of file TtFullHadSignalSel.h.

References H_.

Referenced by evaluateTtFullHadSignalSel().

{ return H_;      }
double TtFullHadSignalSel::Ht ( ) const [inline]

Definition at line 20 of file TtFullHadSignalSel.h.

References Ht_.

Referenced by evaluateTtFullHadSignalSel().

{ return Ht_;     }
double TtFullHadSignalSel::Ht123 ( ) const [inline]

Definition at line 21 of file TtFullHadSignalSel.h.

References Ht123_.

Referenced by evaluateTtFullHadSignalSel().

{ return Ht123_;  }
double TtFullHadSignalSel::Ht3jet ( ) const [inline]

Definition at line 22 of file TtFullHadSignalSel.h.

References Ht3jet_.

Referenced by evaluateTtFullHadSignalSel().

{ return Ht3jet_; }
double TtFullHadSignalSel::isotropy ( bool  allJets = false) const [inline]
double TtFullHadSignalSel::isotropyAllCMS ( ) const [inline]

Definition at line 95 of file TtFullHadSignalSel.h.

References isotropyAllCMS_.

Referenced by evaluateTtFullHadSignalSel().

{ return isotropyAllCMS_;    }
double TtFullHadSignalSel::jet_etaetaMoment ( unsigned short  i,
bool  noB = false 
) const [inline]

Definition at line 58 of file TtFullHadSignalSel.h.

References asciidump::at, etaetaMoments_, etaetaMomentsNoB_, i, and findQualityFiles::size.

Referenced by evaluateTtFullHadSignalSel().

                                                                  { return noB? ( (etaetaMomentsNoB_.size()>= i)? etaetaMomentsNoB_.at(etaetaMomentsNoB_.size() - i) : -100.) :
                                                                                  (etaetaMoments_   .size()>= i)? etaetaMoments_   .at(etaetaMoments_   .size() - i) : -100.; }
double TtFullHadSignalSel::jet_etaetaMomentLogEt ( unsigned short  i) const [inline]

Definition at line 73 of file TtFullHadSignalSel.h.

References etaetaMomentsLogEt_, and i.

Referenced by evaluateTtFullHadSignalSel().

{ return (etaetaMomentsLogEt_.size()>= i)? etaetaMomentsLogEt_.at(etaetaMomentsLogEt_.size() - i) : -100.; }
double TtFullHadSignalSel::jet_etaetaMomentMoment ( unsigned short  i) const [inline]

Definition at line 65 of file TtFullHadSignalSel.h.

References etaetaMomentsMoment_, and i.

Referenced by evaluateTtFullHadSignalSel().

{ return (etaetaMomentsMoment_.size()>= i)? etaetaMomentsMoment_.at(etaetaMomentsMoment_.size() - i) : -100.; }
double TtFullHadSignalSel::jet_etaetaMomentMomentLogEt ( unsigned short  i) const [inline]

Definition at line 77 of file TtFullHadSignalSel.h.

References etaetaMomentsMomentLogEt_, and i.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::jet_etaphiMoment ( unsigned short  i,
bool  noB = false 
) const [inline]

Definition at line 60 of file TtFullHadSignalSel.h.

References asciidump::at, etaphiMoments_, etaphiMomentsNoB_, i, and findQualityFiles::size.

Referenced by evaluateTtFullHadSignalSel().

                                                                  { return noB? ( (etaphiMomentsNoB_.size()>= i)? etaphiMomentsNoB_.at(etaphiMomentsNoB_.size() - i) : -100.) :
                                                                                  (etaphiMoments_   .size()>= i)? etaphiMoments_   .at(etaphiMoments_   .size() - i) : -100.; }
double TtFullHadSignalSel::jet_etaphiMomentLogEt ( unsigned short  i) const [inline]

Definition at line 74 of file TtFullHadSignalSel.h.

References etaphiMomentsLogEt_, and i.

Referenced by evaluateTtFullHadSignalSel().

{ return (etaphiMomentsLogEt_.size()>= i)? etaphiMomentsLogEt_.at(etaphiMomentsLogEt_.size() - i) : -100.; }
double TtFullHadSignalSel::jet_etaphiMomentMoment ( unsigned short  i) const [inline]

Definition at line 66 of file TtFullHadSignalSel.h.

References etaphiMomentsMoment_, and i.

Referenced by evaluateTtFullHadSignalSel().

{ return (etaphiMomentsMoment_.size()>= i)? etaphiMomentsMoment_.at(etaphiMomentsMoment_.size() - i) : -100.; }
double TtFullHadSignalSel::jet_etaphiMomentMomentLogEt ( unsigned short  i) const [inline]

Definition at line 78 of file TtFullHadSignalSel.h.

References etaphiMomentsMomentLogEt_, and i.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::jet_phiphiMoment ( unsigned short  i,
bool  noB = false 
) const [inline]

Definition at line 62 of file TtFullHadSignalSel.h.

References asciidump::at, i, phiphiMoments_, phiphiMomentsNoB_, and findQualityFiles::size.

Referenced by evaluateTtFullHadSignalSel().

                                                                  { return noB? ( (phiphiMomentsNoB_.size()>= i)? phiphiMomentsNoB_.at(phiphiMomentsNoB_.size() - i) : -100.) :
                                                                                  (phiphiMoments_   .size()>= i)? phiphiMoments_   .at(phiphiMoments_   .size() - i) : -100.; }
double TtFullHadSignalSel::jet_phiphiMomentLogEt ( unsigned short  i) const [inline]

Definition at line 75 of file TtFullHadSignalSel.h.

References i, and phiphiMomentsLogEt_.

Referenced by evaluateTtFullHadSignalSel().

{ return (phiphiMomentsLogEt_.size()>= i)? phiphiMomentsLogEt_.at(phiphiMomentsLogEt_.size() - i) : -100.; }
double TtFullHadSignalSel::jet_phiphiMomentMoment ( unsigned short  i) const [inline]

Definition at line 67 of file TtFullHadSignalSel.h.

References i, and phiphiMomentsMoment_.

Referenced by evaluateTtFullHadSignalSel().

{ return (phiphiMomentsMoment_.size()>= i)? phiphiMomentsMoment_.at(phiphiMomentsMoment_.size() - i) : -100.; }
double TtFullHadSignalSel::jet_phiphiMomentMomentLogEt ( unsigned short  i) const [inline]

Definition at line 79 of file TtFullHadSignalSel.h.

References i, and phiphiMomentsMomentLogEt_.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::jets_etaetaMoment ( bool  noB = false) const [inline]

Definition at line 69 of file TtFullHadSignalSel.h.

References jets_etaetaMoment_, and jets_etaetaMomentNoB_.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::jets_etaetaMomentLogEt ( ) const [inline]

Definition at line 81 of file TtFullHadSignalSel.h.

References jets_etaetaMomentLogEt_.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::jets_etaphiMoment ( bool  noB = false) const [inline]

Definition at line 70 of file TtFullHadSignalSel.h.

References jets_etaphiMoment_, and jets_etaphiMomentNoB_.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::jets_etaphiMomentLogEt ( ) const [inline]

Definition at line 82 of file TtFullHadSignalSel.h.

References jets_etaphiMomentLogEt_.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::jets_phiphiMoment ( bool  noB = false) const [inline]

Definition at line 71 of file TtFullHadSignalSel.h.

References jets_phiphiMoment_, and jets_phiphiMomentNoB_.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::jets_phiphiMomentLogEt ( ) const [inline]

Definition at line 83 of file TtFullHadSignalSel.h.

References jets_phiphiMomentLogEt_.

Referenced by evaluateTtFullHadSignalSel().

double TtFullHadSignalSel::M3 ( ) const [inline]

Definition at line 25 of file TtFullHadSignalSel.h.

References M3_.

Referenced by evaluateTtFullHadSignalSel().

{ return M3_;     }
double TtFullHadSignalSel::massDiffMWCands ( unsigned short  i) const [inline]

Definition at line 109 of file TtFullHadSignalSel.h.

References i, and massDiffMWCands_.

Referenced by evaluateTtFullHadSignalSel().

{ return (massDiffMWCands_.size() >= i) ? massDiffMWCands_.at(i-1) : -1.; }
double TtFullHadSignalSel::pt ( unsigned short  i) const [inline]

Definition at line 43 of file TtFullHadSignalSel.h.

References i, and pts_.

Referenced by evaluateTtFullHadSignalSel(), pti_ptj(), and TtFullHadSignalSel().

{ return (pts_.size() >= i) ? pts_.at(i-1) : -1.; }
double TtFullHadSignalSel::pti_ptj ( unsigned short  i,
unsigned short  j,
bool  norm = false 
) const [inline]

Definition at line 56 of file TtFullHadSignalSel.h.

References j, pt(), and pts_.

Referenced by evaluateTtFullHadSignalSel().

{ return (pts_.size() >= j) ? ( norm ? (pt(i) - pt(j))/(pt(i) + pt(j)) : (pt(i) - pt(j)) ) : -1.; }
double TtFullHadSignalSel::sinTheta ( unsigned short  i,
bool  boosted = false 
) const [inline]

Definition at line 49 of file TtFullHadSignalSel.h.

References asciidump::at, i, funct::sin(), thetas_, and thetaStars_.

Referenced by evaluateTtFullHadSignalSel().

                                                                  { return boosted? ( (thetaStars_  .size() >= i) ? sin(thetaStars_.at(i-1)) : -1.) :
                                                                                      (thetas_      .size() >= i) ? sin(thetas_    .at(i-1)) : -1.; }
double TtFullHadSignalSel::sinTheta3jet ( bool  boosted = false) const [inline]

Definition at line 54 of file TtFullHadSignalSel.h.

References sinTheta3jet_, and sinThetaStar3jet_.

Referenced by evaluateTtFullHadSignalSel().

{ return boosted? sinThetaStar3jet_ :    sinTheta3jet_; }
double TtFullHadSignalSel::SM_Bjet ( unsigned short  i) const [inline]

Definition at line 41 of file TtFullHadSignalSel.h.

References findQualityFiles::size, and SM_BJet_Discs_.

Referenced by evaluateTtFullHadSignalSel().

{ return (SM_BJet_Discs_    .size() >= i) ? SM_BJet_Discs_    .at(SM_BJet_Discs_    .size()-i) : -100.; }
double TtFullHadSignalSel::SM_Bjets ( ) const [inline]

Definition at line 33 of file TtFullHadSignalSel.h.

References SM_Bjets_.

Referenced by evaluateTtFullHadSignalSel().

{ return SM_Bjets_;     }
double TtFullHadSignalSel::sphericity ( bool  allJets = false) const [inline]
double TtFullHadSignalSel::sphericityAllCMS ( ) const [inline]

Definition at line 93 of file TtFullHadSignalSel.h.

References sphericityAllCMS_.

Referenced by evaluateTtFullHadSignalSel().

{ return sphericityAllCMS_;  }
double TtFullHadSignalSel::sqrt_s ( ) const [inline]

Definition at line 23 of file TtFullHadSignalSel.h.

References sqrt_s_.

Referenced by evaluateTtFullHadSignalSel().

{ return sqrt_s_; }
double TtFullHadSignalSel::SSVHE_Bjet ( unsigned short  i) const [inline]

Definition at line 37 of file TtFullHadSignalSel.h.

References findQualityFiles::size, and SSVHE_BJet_Discs_.

Referenced by evaluateTtFullHadSignalSel().

{ return (SSVHE_BJet_Discs_ .size() >= i) ? SSVHE_BJet_Discs_ .at(SSVHE_BJet_Discs_ .size()-i) : -100.; }
double TtFullHadSignalSel::SSVHE_Bjets ( ) const [inline]

Definition at line 29 of file TtFullHadSignalSel.h.

References SSVHE_Bjets_.

Referenced by evaluateTtFullHadSignalSel().

{ return SSVHE_Bjets_;  }
double TtFullHadSignalSel::SSVHP_Bjet ( unsigned short  i) const [inline]

Definition at line 38 of file TtFullHadSignalSel.h.

References findQualityFiles::size, and SSVHP_BJet_Discs_.

Referenced by evaluateTtFullHadSignalSel().

{ return (SSVHP_BJet_Discs_ .size() >= i) ? SSVHP_BJet_Discs_ .at(SSVHP_BJet_Discs_ .size()-i) : -100.; }
double TtFullHadSignalSel::SSVHP_Bjets ( ) const [inline]

Definition at line 30 of file TtFullHadSignalSel.h.

References SSVHP_Bjets_.

Referenced by evaluateTtFullHadSignalSel().

{ return SSVHP_Bjets_;  }
double TtFullHadSignalSel::sumDR3JetMin ( unsigned short  i) const [inline]

Definition at line 107 of file TtFullHadSignalSel.h.

References dR3Jets_, and findQualityFiles::size.

Referenced by evaluateTtFullHadSignalSel().

{ return (dR3Jets_        .size() >= i) ? dR3Jets_        .at(i-1) : -1.; }
double TtFullHadSignalSel::sumDR3JetMinMass ( unsigned short  i) const [inline]

Definition at line 108 of file TtFullHadSignalSel.h.

References dR3JetsMass_, and findQualityFiles::size.

Referenced by evaluateTtFullHadSignalSel().

{ return (dR3JetsMass_    .size() >= i) ? dR3JetsMass_    .at(i-1) : -1.; }
double TtFullHadSignalSel::TCHE_Bjet ( unsigned short  i) const [inline]

Definition at line 35 of file TtFullHadSignalSel.h.

References findQualityFiles::size, and TCHE_BJet_Discs_.

Referenced by evaluateTtFullHadSignalSel().

{ return (TCHE_BJet_Discs_  .size() >= i) ? TCHE_BJet_Discs_  .at(TCHE_BJet_Discs_  .size()-i) : -100.; }
double TtFullHadSignalSel::TCHE_Bjets ( ) const [inline]

Definition at line 27 of file TtFullHadSignalSel.h.

References TCHE_Bjets_.

Referenced by evaluateTtFullHadSignalSel().

{ return TCHE_Bjets_;   }
double TtFullHadSignalSel::TCHP_Bjet ( unsigned short  i) const [inline]

Definition at line 36 of file TtFullHadSignalSel.h.

References findQualityFiles::size, and TCHP_BJet_Discs_.

Referenced by evaluateTtFullHadSignalSel().

{ return (TCHP_BJet_Discs_  .size() >= i) ? TCHP_BJet_Discs_  .at(TCHP_BJet_Discs_  .size()-i) : -100.; }
double TtFullHadSignalSel::TCHP_Bjets ( ) const [inline]

Definition at line 28 of file TtFullHadSignalSel.h.

References TCHP_Bjets_.

Referenced by evaluateTtFullHadSignalSel().

{ return TCHP_Bjets_;   }
double TtFullHadSignalSel::theta ( unsigned short  i,
bool  boosted = false 
) const [inline]

Definition at line 47 of file TtFullHadSignalSel.h.

References asciidump::at, i, thetas_, and thetaStars_.

Referenced by evaluateTtFullHadSignalSel().

                                                                  { return boosted? ( (thetaStars_  .size() >= i) ? thetaStars_    .at(i-1)  : -1.) :
                                                                                      (thetas_      .size() >= i) ? thetas_        .at(i-1)  : -1.; }
double TtFullHadSignalSel::theta3jet ( bool  boosted = false) const [inline]

Definition at line 53 of file TtFullHadSignalSel.h.

References theta3jet_, and thetaStar3jet_.

Referenced by evaluateTtFullHadSignalSel().

{ return boosted?    thetaStar3jet_ :       theta3jet_; }
double TtFullHadSignalSel::thrust ( bool  inCMS = false) const [inline]

Definition at line 101 of file TtFullHadSignalSel.h.

References thrust_, and thrustCMS_.

Referenced by evaluateTtFullHadSignalSel().

{ return inCMS ? thrustCMS_ : thrust_; }

Member Data Documentation

Definition at line 182 of file TtFullHadSignalSel.h.

Referenced by aplanarity(), and TtFullHadSignalSel().

Definition at line 189 of file TtFullHadSignalSel.h.

Referenced by aplanarity(), and TtFullHadSignalSel().

Definition at line 196 of file TtFullHadSignalSel.h.

Referenced by aplanarityAllCMS(), and TtFullHadSignalSel().

double TtFullHadSignalSel::C_ [private]

Definition at line 186 of file TtFullHadSignalSel.h.

Referenced by C(), and TtFullHadSignalSel().

double TtFullHadSignalSel::CAll_ [private]

Definition at line 193 of file TtFullHadSignalSel.h.

Referenced by C(), and TtFullHadSignalSel().

double TtFullHadSignalSel::CAllCMS_ [private]

Definition at line 200 of file TtFullHadSignalSel.h.

Referenced by CAllCMS(), and TtFullHadSignalSel().

Definition at line 184 of file TtFullHadSignalSel.h.

Referenced by circularity(), and TtFullHadSignalSel().

Definition at line 191 of file TtFullHadSignalSel.h.

Referenced by circularity(), and TtFullHadSignalSel().

Definition at line 198 of file TtFullHadSignalSel.h.

Referenced by circularityAllCMS(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::CSV_BJet_Discs_ [private]

Definition at line 133 of file TtFullHadSignalSel.h.

Referenced by CSV_Bjet(), and TtFullHadSignalSel().

Definition at line 125 of file TtFullHadSignalSel.h.

Referenced by CSV_Bjets(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::CSVMVA_BJet_Discs_ [private]

Definition at line 134 of file TtFullHadSignalSel.h.

Referenced by CSVMVA_Bjet(), and TtFullHadSignalSel().

Definition at line 126 of file TtFullHadSignalSel.h.

Referenced by CSVMVA_Bjets(), and TtFullHadSignalSel().

double TtFullHadSignalSel::D_ [private]

Definition at line 187 of file TtFullHadSignalSel.h.

Referenced by D(), and TtFullHadSignalSel().

double TtFullHadSignalSel::DAll_ [private]

Definition at line 194 of file TtFullHadSignalSel.h.

Referenced by D(), and TtFullHadSignalSel().

double TtFullHadSignalSel::DAllCMS_ [private]

Definition at line 201 of file TtFullHadSignalSel.h.

Referenced by DAllCMS(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::dR3Jets_ [private]

Definition at line 210 of file TtFullHadSignalSel.h.

Referenced by sumDR3JetMin(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::dR3JetsMass_ [private]

Definition at line 211 of file TtFullHadSignalSel.h.

Referenced by sumDR3JetMinMass(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::dR_ [private]

Definition at line 206 of file TtFullHadSignalSel.h.

Referenced by dRMin(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::dRAngle_ [private]

Definition at line 208 of file TtFullHadSignalSel.h.

Referenced by dRMinAngle(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::dRMass_ [private]

Definition at line 207 of file TtFullHadSignalSel.h.

Referenced by dRMinMass(), and TtFullHadSignalSel().

double TtFullHadSignalSel::Et56_ [private]

Definition at line 118 of file TtFullHadSignalSel.h.

Referenced by Et56(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaetaMoments_ [private]

Definition at line 150 of file TtFullHadSignalSel.h.

Referenced by jet_etaetaMoment(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaetaMomentsLogEt_ [private]

Definition at line 158 of file TtFullHadSignalSel.h.

Referenced by jet_etaetaMomentLogEt(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaetaMomentsMoment_ [private]

Definition at line 154 of file TtFullHadSignalSel.h.

Referenced by jet_etaetaMomentMoment(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaetaMomentsMomentLogEt_ [private]

Definition at line 162 of file TtFullHadSignalSel.h.

Referenced by jet_etaetaMomentMomentLogEt(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaetaMomentsNoB_ [private]

Definition at line 166 of file TtFullHadSignalSel.h.

Referenced by jet_etaetaMoment(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaphiMoments_ [private]

Definition at line 151 of file TtFullHadSignalSel.h.

Referenced by jet_etaphiMoment(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaphiMomentsLogEt_ [private]

Definition at line 159 of file TtFullHadSignalSel.h.

Referenced by jet_etaphiMomentLogEt(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaphiMomentsMoment_ [private]

Definition at line 155 of file TtFullHadSignalSel.h.

Referenced by jet_etaphiMomentMoment(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaphiMomentsMomentLogEt_ [private]

Definition at line 163 of file TtFullHadSignalSel.h.

Referenced by jet_etaphiMomentMomentLogEt(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::etaphiMomentsNoB_ [private]

Definition at line 167 of file TtFullHadSignalSel.h.

Referenced by jet_etaphiMoment(), and TtFullHadSignalSel().

Definition at line 143 of file TtFullHadSignalSel.h.

Referenced by EtSin2Theta3jet(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::EtSin2Thetas_ [private]

Definition at line 138 of file TtFullHadSignalSel.h.

Referenced by EtSin2Theta(), and TtFullHadSignalSel().

Definition at line 148 of file TtFullHadSignalSel.h.

Referenced by EtSin2Theta3jet(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::EtStars_ [private]

Definition at line 141 of file TtFullHadSignalSel.h.

Referenced by EtSin2Theta(), and TtFullHadSignalSel().

double TtFullHadSignalSel::H_ [private]

Definition at line 113 of file TtFullHadSignalSel.h.

Referenced by centrality(), H(), and TtFullHadSignalSel().

double TtFullHadSignalSel::Ht123_ [private]

Definition at line 115 of file TtFullHadSignalSel.h.

Referenced by Ht123(), and TtFullHadSignalSel().

double TtFullHadSignalSel::Ht3jet_ [private]

Definition at line 116 of file TtFullHadSignalSel.h.

Referenced by Ht3jet(), and TtFullHadSignalSel().

double TtFullHadSignalSel::Ht_ [private]

Definition at line 114 of file TtFullHadSignalSel.h.

Referenced by centrality(), Ht(), and TtFullHadSignalSel().

Definition at line 185 of file TtFullHadSignalSel.h.

Referenced by isotropy(), and TtFullHadSignalSel().

Definition at line 192 of file TtFullHadSignalSel.h.

Referenced by isotropy(), and TtFullHadSignalSel().

Definition at line 199 of file TtFullHadSignalSel.h.

Referenced by isotropyAllCMS(), and TtFullHadSignalSel().

Definition at line 170 of file TtFullHadSignalSel.h.

Referenced by jets_etaetaMoment(), and TtFullHadSignalSel().

Definition at line 174 of file TtFullHadSignalSel.h.

Referenced by jets_etaetaMomentLogEt(), and TtFullHadSignalSel().

Definition at line 178 of file TtFullHadSignalSel.h.

Referenced by jets_etaetaMoment(), and TtFullHadSignalSel().

Definition at line 171 of file TtFullHadSignalSel.h.

Referenced by jets_etaphiMoment(), and TtFullHadSignalSel().

Definition at line 175 of file TtFullHadSignalSel.h.

Referenced by jets_etaphiMomentLogEt(), and TtFullHadSignalSel().

Definition at line 179 of file TtFullHadSignalSel.h.

Referenced by jets_etaphiMoment(), and TtFullHadSignalSel().

Definition at line 172 of file TtFullHadSignalSel.h.

Referenced by jets_phiphiMoment(), and TtFullHadSignalSel().

Definition at line 176 of file TtFullHadSignalSel.h.

Referenced by jets_phiphiMomentLogEt(), and TtFullHadSignalSel().

Definition at line 180 of file TtFullHadSignalSel.h.

Referenced by jets_phiphiMoment(), and TtFullHadSignalSel().

double TtFullHadSignalSel::M3_ [private]

Definition at line 119 of file TtFullHadSignalSel.h.

Referenced by M3(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::massDiffMWCands_ [private]

Definition at line 213 of file TtFullHadSignalSel.h.

Referenced by massDiffMWCands(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::phiphiMoments_ [private]

Definition at line 152 of file TtFullHadSignalSel.h.

Referenced by jet_phiphiMoment(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::phiphiMomentsLogEt_ [private]

Definition at line 160 of file TtFullHadSignalSel.h.

Referenced by jet_phiphiMomentLogEt(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::phiphiMomentsMoment_ [private]

Definition at line 156 of file TtFullHadSignalSel.h.

Referenced by jet_phiphiMomentMoment(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::phiphiMomentsMomentLogEt_ [private]

Definition at line 164 of file TtFullHadSignalSel.h.

Referenced by jet_phiphiMomentMomentLogEt(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::phiphiMomentsNoB_ [private]

Definition at line 168 of file TtFullHadSignalSel.h.

Referenced by jet_phiphiMoment(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::pts_ [private]

Definition at line 137 of file TtFullHadSignalSel.h.

Referenced by pt(), pti_ptj(), and TtFullHadSignalSel().

Definition at line 146 of file TtFullHadSignalSel.h.

Referenced by sinTheta3jet(), and TtFullHadSignalSel().

Definition at line 147 of file TtFullHadSignalSel.h.

Referenced by sinTheta3jet(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::SM_BJet_Discs_ [private]

Definition at line 135 of file TtFullHadSignalSel.h.

Referenced by SM_Bjet(), and TtFullHadSignalSel().

Definition at line 127 of file TtFullHadSignalSel.h.

Referenced by SM_Bjets(), and TtFullHadSignalSel().

Definition at line 183 of file TtFullHadSignalSel.h.

Referenced by sphericity(), and TtFullHadSignalSel().

Definition at line 190 of file TtFullHadSignalSel.h.

Referenced by sphericity(), and TtFullHadSignalSel().

Definition at line 197 of file TtFullHadSignalSel.h.

Referenced by sphericityAllCMS(), and TtFullHadSignalSel().

double TtFullHadSignalSel::sqrt_s_ [private]

Definition at line 117 of file TtFullHadSignalSel.h.

Referenced by centrality(), sqrt_s(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::SSVHE_BJet_Discs_ [private]

Definition at line 131 of file TtFullHadSignalSel.h.

Referenced by SSVHE_Bjet(), and TtFullHadSignalSel().

Definition at line 123 of file TtFullHadSignalSel.h.

Referenced by SSVHE_Bjets(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::SSVHP_BJet_Discs_ [private]

Definition at line 132 of file TtFullHadSignalSel.h.

Referenced by SSVHP_Bjet(), and TtFullHadSignalSel().

Definition at line 124 of file TtFullHadSignalSel.h.

Referenced by SSVHP_Bjets(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::TCHE_BJet_Discs_ [private]

Definition at line 129 of file TtFullHadSignalSel.h.

Referenced by TCHE_Bjet(), and TtFullHadSignalSel().

Definition at line 121 of file TtFullHadSignalSel.h.

Referenced by TCHE_Bjets(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::TCHP_BJet_Discs_ [private]

Definition at line 130 of file TtFullHadSignalSel.h.

Referenced by TCHP_Bjet(), and TtFullHadSignalSel().

Definition at line 122 of file TtFullHadSignalSel.h.

Referenced by TCHP_Bjets(), and TtFullHadSignalSel().

Definition at line 144 of file TtFullHadSignalSel.h.

Referenced by theta3jet(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::thetas_ [private]

Definition at line 139 of file TtFullHadSignalSel.h.

Referenced by sinTheta(), theta(), and TtFullHadSignalSel().

Definition at line 145 of file TtFullHadSignalSel.h.

Referenced by theta3jet(), and TtFullHadSignalSel().

std::vector<double> TtFullHadSignalSel::thetaStars_ [private]

Definition at line 140 of file TtFullHadSignalSel.h.

Referenced by sinTheta(), theta(), and TtFullHadSignalSel().

double TtFullHadSignalSel::thrust_ [private]

Definition at line 203 of file TtFullHadSignalSel.h.

Referenced by thrust(), and TtFullHadSignalSel().

Definition at line 204 of file TtFullHadSignalSel.h.

Referenced by thrust(), and TtFullHadSignalSel().