Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-06-01 07:07:14

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2023 Kevin Adkins, Brian Page, Connor Pecar
0003 #ifndef EXCLUDE_DELPHES
0004 
0005 /* NOTE:
0006  * if you make changes, MAINTAIN DOCUMENTATION IN ../doc/kinematicsJets.md
0007  */
0008 
0009 #pragma once
0010 
0011 // Kinematics base calss
0012 #include "Kinematics.h"
0013 
0014 // Delphes includes
0015 #include <classes/DelphesClasses.h>
0016 #include <fastjet/ClusterSequence.hh>
0017 #ifdef INCLUDE_CENTAURO
0018 #include <fastjet/plugins/Centauro/Centauro.hh>
0019 #endif // CENTAURO
0020 
0021 using std::map;
0022 using std::cout;
0023 using std::cerr;
0024 using std::endl;
0025 
0026 class KinematicsJets : public Kinematics
0027 {
0028   public:
0029   KinematicsJets(Double_t enEleBeam, Double_t enIonBeam, Double_t crossAng);
0030     ~KinematicsJets();
0031 
0032     // DELPHES-specific methods ////////////////////////// -- to be removed when jets are added to AnalysisEpic
0033 
0034     // jet calculators
0035     void GetJets(
0036         TObjArrayIter itEFlowTrack, TObjArrayIter itEFlowPhoton,
0037         TObjArrayIter itEFlowNeutralHadron, TObjArrayIter itParticle,
0038     int jetAlgo, double jetRadius, double jetMinPt
0039         );
0040     void CalculateJetKinematics(fastjet::PseudoJet jet);
0041     void CalculateJetResolution(double deltaRCut);
0042 #ifdef INCLUDE_CENTAURO
0043     void GetBreitFrameJets(
0044         TObjArrayIter itEFlowTrack, TObjArrayIter itEFlowPhoton,
0045         TObjArrayIter itEFlowNeutralHadron, TObjArrayIter itParticle
0046         );
0047     void CalculateBreitJetKinematics(fastjet::PseudoJet jet);
0048 #endif // ifdef INCLUDE_CENTAURO
0049 
0050     // end DELPHES-specific methods //////////////////////////
0051   
0052     // jet objects
0053     int jetAlgo;
0054     double jetRad, jetMinPt;
0055 
0056     std::vector<fastjet::PseudoJet> jetsRec, jetsTrue;
0057     std::vector<fastjet::PseudoJet> breitJetsRec, breitJetsTrue;
0058     std::map<double, int> jetConstituents;
0059     fastjet::ClusterSequence csRec;
0060     fastjet::ClusterSequence csTrue;
0061 
0062     Double_t zjet, pTjet, qTjet, mTjet, etajet, phijet, mjet, ejet;
0063     Double_t deltaRjet;
0064     int matchStatusjet;
0065     Double_t pTmtjet, mTmtjet, etamtjet, phimtjet, mmtjet, emtjet;
0066     std::vector<double> jperp;
0067     std::vector<double> zhad_jet;
0068     // struck quark information
0069     Double_t quarkpT;
0070 
0071   ClassDef(KinematicsJets,1);
0072 };
0073 
0074 #endif