|
|
|||
File indexing completed on 2026-08-06 09:38:20
0001 // -*- C++ -*- 0002 // 0003 // JetPairRegion.h is a part of ThePEG - Toolkit for HEP Event Generation 0004 // Copyright (C) 1999-2019 Leif Lonnblad 0005 // Copyright (C) 2009-2019 Simon Platzer 0006 // 0007 // ThePEG is licenced under version 3 of the GPL, see COPYING for details. 0008 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 0009 // 0010 #ifndef ThePEG_JetPairRegion_H 0011 #define ThePEG_JetPairRegion_H 0012 // 0013 // This is the declaration of the JetPairRegion class. 0014 // 0015 0016 #include "ThePEG/Cuts/JetRegion.h" 0017 0018 namespace ThePEG { 0019 0020 /** 0021 * JetPairRegion implements constraints on jets matching two jet regions. 0022 * 0023 * @see JetRegion 0024 * @see JetCuts 0025 * 0026 * @see \ref JetPairRegionInterfaces "The interfaces" 0027 * defined for JetPairRegion. 0028 */ 0029 class JetPairRegion: public HandlerBase { 0030 0031 public: 0032 0033 /** 0034 * The default constructor. 0035 */ 0036 JetPairRegion(); 0037 0038 public: 0039 0040 /** 0041 * Return the first jet region to act on. 0042 */ 0043 Ptr<JetRegion>::tptr firstRegion() const { return theFirstRegion; } 0044 0045 /** 0046 * Return the second jet region to act on. 0047 */ 0048 Ptr<JetRegion>::tptr secondRegion() const { return theSecondRegion; } 0049 0050 /** 0051 * Return the minimum jet-jet invariant mass. 0052 */ 0053 Energy massMin() const { return theMassMin; } 0054 0055 /** 0056 * Return the maximum jet-jet invariant mass. 0057 */ 0058 Energy massMax() const { return theMassMax; } 0059 0060 /** 0061 * Return the minimum jet-jet lego-plot separation. 0062 */ 0063 double deltaRMin() const { return theDeltaRMin; } 0064 0065 /** 0066 * Return the maximum jet-jet lego-plot separation. 0067 */ 0068 double deltaRMax() const { return theDeltaRMax; } 0069 0070 /** 0071 * Return the minimum jet-jet rapidity separation. 0072 */ 0073 double deltaYMin() const { return theDeltaYMin; } 0074 0075 /** 0076 * Return the maximum jet-jet rapidity separation. 0077 */ 0078 double deltaYMax() const { return theDeltaYMax; } 0079 0080 /** 0081 * Return the cut weight encountered from the last call to matches() 0082 */ 0083 double cutWeight() const { return theCutWeight; } 0084 0085 public: 0086 0087 /** 0088 * Describe the currently active cuts in the log file. 0089 */ 0090 virtual void describe() const; 0091 0092 /** 0093 * Return true, if the requirements on the jet regions are fullfilled. 0094 */ 0095 virtual bool matches(tcCutsPtr parent); 0096 0097 public: 0098 0099 /** @name Functions used by the persistent I/O system. */ 0100 //@{ 0101 /** 0102 * Function used to write out object persistently. 0103 * @param os the persistent output stream written to. 0104 */ 0105 void persistentOutput(PersistentOStream & os) const; 0106 0107 /** 0108 * Function used to read in object persistently. 0109 * @param is the persistent input stream read from. 0110 * @param version the version number of the object when written. 0111 */ 0112 void persistentInput(PersistentIStream & is, int version); 0113 //@} 0114 0115 /** 0116 * The standard Init function used to initialize the interfaces. 0117 * Called exactly once for each class by the class description system 0118 * before the main function starts or 0119 * when this class is dynamically loaded. 0120 */ 0121 static void Init(); 0122 0123 protected: 0124 0125 /** @name Clone Methods. */ 0126 //@{ 0127 /** 0128 * Make a simple clone of this object. 0129 * @return a pointer to the new object. 0130 */ 0131 virtual IBPtr clone() const; 0132 0133 /** Make a clone of this object, possibly modifying the cloned object 0134 * to make it sane. 0135 * @return a pointer to the new object. 0136 */ 0137 virtual IBPtr fullclone() const; 0138 //@} 0139 0140 0141 // If needed, insert declarations of virtual function defined in the 0142 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs). 0143 0144 0145 private: 0146 0147 /** 0148 * The first jet region to act on. 0149 */ 0150 Ptr<JetRegion>::ptr theFirstRegion; 0151 0152 /** 0153 * The second jet region to act on. 0154 */ 0155 Ptr<JetRegion>::ptr theSecondRegion; 0156 0157 /** 0158 * The minimum jet-jet invariant mass. 0159 */ 0160 Energy theMassMin; 0161 0162 /** 0163 * The maximum jet-jet invariant mass. 0164 */ 0165 Energy theMassMax; 0166 0167 /** 0168 * The minimum jet-jet lego-plot separation. 0169 */ 0170 double theDeltaRMin; 0171 0172 /** 0173 * The maximum jet-jet lego-plot separation. 0174 */ 0175 double theDeltaRMax; 0176 0177 /** 0178 * The minimum jet-jet rapidity separation. 0179 */ 0180 double theDeltaYMin; 0181 0182 /** 0183 * The maximum jet-jet rapidity separation. 0184 */ 0185 double theDeltaYMax; 0186 0187 /** 0188 * Should the jets go into opposite detector hemispheres? 0189 */ 0190 bool theOppositeHemispheres; 0191 0192 /** 0193 * The cut weight encountered from the last call to matches() 0194 */ 0195 double theCutWeight; 0196 0197 /** 0198 * The assignment operator is private and must never be called. 0199 * In fact, it should not even be implemented. 0200 */ 0201 JetPairRegion & operator=(const JetPairRegion &) = delete; 0202 0203 }; 0204 0205 } 0206 0207 #endif /* ThePEG_JetPairRegion_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|