Skip to content

Commit

Permalink
CSC Beam Halo filter update
Browse files Browse the repository at this point in the history
  • Loading branch information
lathomas committed Sep 4, 2015
1 parent 3ebbeec commit 401fc58
Show file tree
Hide file tree
Showing 11 changed files with 260 additions and 33 deletions.
1 change: 1 addition & 0 deletions DataFormats/METReco/interface/BeamHaloSummary.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ namespace reco {

const bool CSCLooseHaloId() const { return CSCHaloReport.size() ? CSCHaloReport[0] : false ; }
const bool CSCTightHaloId() const { return CSCHaloReport.size() > 1 ? CSCHaloReport[1] : false ; }
const bool CSCTightHaloId2015() const { return CSCHaloReport.size() > 4 ? CSCHaloReport[4] : false ; }

const bool GlobalLooseHaloId() const { return GlobalHaloReport.size() ? GlobalHaloReport[0] : false ; }
const bool GlobalTightHaloId() const { return GlobalHaloReport.size() > 1 ? GlobalHaloReport[1] : false ; }
Expand Down
22 changes: 19 additions & 3 deletions DataFormats/METReco/interface/CSCHaloData.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ namespace reco {

// Number of HaloTriggers in +/- endcap
int NumberOfHaloTriggers (HaloData::Endcap z= HaloData::both) const ;
int NumberOfHaloTriggers_TrkMuUnVeto (HaloData::Endcap z= HaloData::both) const ;
int NHaloTriggers(HaloData::Endcap z = HaloData::both ) const { return NumberOfHaloTriggers(z);}

// Number of Halo Tracks in +/- endcap
int NumberOfHaloTracks(HaloData::Endcap z= HaloData::both) const ;
int NHaloTracks(HaloData::Endcap z = HaloData::both) const { return NumberOfHaloTracks(z) ;}
Expand All @@ -53,15 +55,20 @@ namespace reco {
// MLR
short int NFlatHaloSegments() const{ return nFlatHaloSegments; }
bool GetSegmentsInBothEndcaps() const{ return segments_in_both_endcaps; }
bool GetSegmentIsCaloMatched() const{ return segmentiscalomatched; }
// End MLR
short int NFlatHaloSegments_TrkMuUnVeto() const{ return nFlatHaloSegments_TrkMuUnVeto; }
bool GetSegmentsInBothEndcaps_Loose_TrkMuUnVeto() const{ return segments_in_both_endcaps_loose_TrkMuUnVeto;}
bool GetSegmentsInBothEndcaps_Loose_dTcut_TrkMuUnVeto() const{ return segments_in_both_endcaps_loose_dtcut_TrkMuUnVeto;}


// Get Reference to the Tracks
edm::RefVector<reco::TrackCollection>& GetTracks(){return TheTrackRefs;}
const edm::RefVector<reco::TrackCollection>& GetTracks()const {return TheTrackRefs;}

// Set Number of Halo Triggers
void SetNumberOfHaloTriggers(int PlusZ, int MinusZ ){ nTriggers_PlusZ =PlusZ; nTriggers_MinusZ = MinusZ ;}

void SetNumberOfHaloTriggers_TrkMuUnVeto(int PlusZ, int MinusZ ){ nTriggers_PlusZ_TrkMuUnVeto =PlusZ; nTriggers_MinusZ_TrkMuUnVeto = MinusZ ;}
// Set number of chamber-level triggers with non-collision timing
void SetNOutOfTimeTriggers(short int PlusZ,short int MinusZ){ nOutOfTimeTriggers_PlusZ = PlusZ ; nOutOfTimeTriggers_MinusZ = MinusZ;}
// Set number of CSCRecHits with non-collision timing
Expand All @@ -85,14 +92,20 @@ namespace reco {
void SetNFlatHaloSegments(short int nSegments) {nFlatHaloSegments = nSegments;}
void SetSegmentsBothEndcaps(bool b) { segments_in_both_endcaps = b; }
// End MLR
void SetNFlatHaloSegments_TrkMuUnVeto(short int nSegments) {nFlatHaloSegments_TrkMuUnVeto = nSegments;}
void SetSegmentsBothEndcaps_Loose_TrkMuUnVeto(bool b) { segments_in_both_endcaps_loose_TrkMuUnVeto = b; }
void SetSegmentsBothEndcaps_Loose_dTcut_TrkMuUnVeto(bool b) { segments_in_both_endcaps_loose_dtcut_TrkMuUnVeto = b; }
void SetSegmentIsCaloMatched(bool b) { segmentiscalomatched = b; }

private:
edm::RefVector<reco::TrackCollection> TheTrackRefs;

// The GlobalPoints from constituent rechits nearest to the calorimeter of CSC tracks
std::vector<GlobalPoint> TheGlobalPositions;
int nTriggers_PlusZ;
int nTriggers_MinusZ;

int nTriggers_PlusZ_TrkMuUnVeto;
int nTriggers_MinusZ_TrkMuUnVeto;
// CSC halo trigger reported by the HLT
bool HLTAccept;

Expand All @@ -117,7 +130,10 @@ namespace reco {
short int nFlatHaloSegments;
bool segments_in_both_endcaps;
// end MLR

short int nFlatHaloSegments_TrkMuUnVeto;
bool segments_in_both_endcaps_loose_TrkMuUnVeto;
bool segments_in_both_endcaps_loose_dtcut_TrkMuUnVeto;
bool segmentiscalomatched ;
};


Expand Down
2 changes: 1 addition & 1 deletion DataFormats/METReco/src/BeamHaloSummary.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ using namespace reco;

BeamHaloSummary::BeamHaloSummary()
{
for( unsigned int i = 0 ; i < 4 ; i++ )
for( unsigned int i = 0 ; i < 6 ; i++ )
{
CSCHaloReport.push_back(0);
if( i < 2 )
Expand Down
13 changes: 13 additions & 0 deletions DataFormats/METReco/src/CSCHaloData.cc
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ int CSCHaloData::NumberOfHaloTriggers(HaloData::Endcap z) const
return nTriggers_MinusZ + nTriggers_PlusZ;
}



int CSCHaloData::NumberOfHaloTriggers_TrkMuUnVeto(HaloData::Endcap z) const
{
if( z == HaloData::plus )
return nTriggers_PlusZ_TrkMuUnVeto;
else if( z == HaloData::minus )
return nTriggers_MinusZ_TrkMuUnVeto;
else
return nTriggers_MinusZ_TrkMuUnVeto + nTriggers_PlusZ_TrkMuUnVeto;
}


short int CSCHaloData::NumberOfOutOfTimeTriggers(HaloData::Endcap z ) const
{
if( z == HaloData::plus )
Expand Down
3 changes: 2 additions & 1 deletion DataFormats/METReco/src/classes_def.xml
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,8 @@
</class>
<class name="edm::Wrapper<reco::HcalHaloData>"/>

<class name="reco::CSCHaloData" ClassVersion="10">
<class name="reco::CSCHaloData" ClassVersion="11">
<version ClassVersion="11" checksum="1723373351"/>
<version ClassVersion="10" checksum="3522217120"/>
</class>
<class name="edm::Wrapper<reco::CSCHaloData>"/>
Expand Down
14 changes: 12 additions & 2 deletions RecoMET/METAlgorithms/interface/CSCHaloAlgo.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,14 @@
#include "DataFormats/GeometryVector/interface/GlobalVector.h"
#include "DataFormats/GeometryVector/interface/LocalPoint.h"
#include "DataFormats/GeometryVector/interface/LocalVector.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
#include "DataFormats/L1CSCTrackFinder/interface/L1CSCTrackCollection.h"
#include "DataFormats/L1CSCTrackFinder/interface/L1CSCStatusDigiCollection.h"
#include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
#include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutRecord.h"
#include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
#include "DataFormats/Math/interface/deltaPhi.h"
#include "DataFormats/MuonDetId/interface/CSCIndexer.h"
#include "DataFormats/MuonDetId/interface/CSCDetId.h"
#include "DataFormats/MuonDetId/interface/RPCDetId.h"
Expand All @@ -56,12 +59,14 @@
#include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h"
#include "DataFormats/TrackReco/interface/TrackFwd.h"
#include "DataFormats/TrackReco/interface/Track.h"

#include "DataFormats/VertexReco/interface/Vertex.h"
#include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
#include "Geometry/CaloGeometry/interface/CaloGeometry.h"
#include "Geometry/CSCGeometry/interface/CSCGeometry.h"
#include "Geometry/CSCGeometry/interface/CSCChamber.h"
#include "Geometry/CSCGeometry/interface/CSCLayer.h"
#include "Geometry/CSCGeometry/interface/CSCLayerGeometry.h"
#include "Geometry/Records/interface/CaloGeometryRecord.h"
#include "L1Trigger/CSCTrackFinder/interface/CSCSectorReceiverLUT.h"
#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
#include "MagneticField/Engine/interface/MagneticField.h"
Expand All @@ -77,6 +82,7 @@
#include "DataFormats/Common/interface/TriggerResults.h"
#include "FWCore/Framework/interface/Event.h"


namespace edm {
class TriggerNames;
}
Expand All @@ -90,9 +96,11 @@ class CSCHaloAlgo {
const edm::Handle<reco::MuonTimeExtraMap> TheCSCTimeMap,
edm::Handle<reco::MuonCollection>& TheMuons, edm::Handle<CSCSegmentCollection>& TheCSCSegments,
edm::Handle<CSCRecHit2DCollection>& TheCSCRecHits,edm::Handle < L1MuGMTReadoutCollection >& TheL1GMTReadout,
edm::Handle<HBHERecHitCollection>& hbhehits,edm::Handle<EcalRecHitCollection>& ecalebhits,
edm::Handle<EcalRecHitCollection>& ecaleehits,
edm::Handle<edm::TriggerResults>& TheHLTResults, const edm::TriggerNames * triggerNames,
const edm::Handle<CSCALCTDigiCollection>& TheALCTs, MuonSegmentMatcher *TheMatcher,
const edm::Event &TheEvent);
const edm::Event &TheEvent, const edm::EventSetup &TheEventSetup);

std::vector<edm::InputTag> vIT_HLTBit;

Expand Down Expand Up @@ -140,6 +148,8 @@ class CSCHaloAlgo {
float max_segment_phi_diff;
float max_segment_theta;
// End MLR
math::XYZPoint getPosition(const DetId &id, reco::Vertex::Point vtx);
const CaloGeometry *geo;
};

#endif

0 comments on commit 401fc58

Please sign in to comment.