| 1 | #ifndef analysis_cms_exo_17_030_h
|
|---|
| 2 | #define analysis_cms_exo_17_030_h
|
|---|
| 3 |
|
|---|
| 4 | #include "SampleAnalyzer/Process/Analyzer/AnalyzerBase.h"
|
|---|
| 5 | #include <string>
|
|---|
| 6 | #include <TString.h>
|
|---|
| 7 | #include <vector>
|
|---|
| 8 | #include <array>
|
|---|
| 9 |
|
|---|
| 10 | namespace MA5
|
|---|
| 11 | {
|
|---|
| 12 | typedef std::vector<const RecJetFormat*> JetCollection;
|
|---|
| 13 | typedef std::array<const RecJetFormat*, 3> Triplet;
|
|---|
| 14 | typedef std::pair<Triplet, Triplet> TripletPair;
|
|---|
| 15 | typedef std::vector<TripletPair> PairCollection;
|
|---|
| 16 | typedef std::vector<Triplet> TripletCollection;
|
|---|
| 17 |
|
|---|
| 18 | class cms_exo_17_030 : public AnalyzerBase {
|
|---|
| 19 | INIT_ANALYSIS(cms_exo_17_030,"cms_exo_17_030")
|
|---|
| 20 |
|
|---|
| 21 | public:
|
|---|
| 22 | virtual bool Initialize(const MA5::Configuration& cfg, const std::map<std::string,std::string>& parameters);
|
|---|
| 23 | virtual void Finalize(const SampleFormat& summary, const std::vector<SampleFormat>& files);
|
|---|
| 24 | virtual bool Execute(SampleFormat& sample, const EventFormat& event);
|
|---|
| 25 |
|
|---|
| 26 | private:
|
|---|
| 27 | std::vector<std::string> bins_SR1, bins_SR2, bins_SR3, bins_SR4;
|
|---|
| 28 | std::vector<std::string> cuts_SR1, cuts_SR2, cuts_SR3, cuts_SR4;
|
|---|
| 29 | const static unsigned int nBins_SR1 = 30;
|
|---|
| 30 | const static unsigned int binsize_SR1 = 7;
|
|---|
| 31 | const static unsigned int firstBin_SR1 = 196;
|
|---|
| 32 |
|
|---|
| 33 | const static unsigned int nBins_SR2 = 32;
|
|---|
| 34 | const static unsigned int binsize_SR2 = 10;
|
|---|
| 35 | const static unsigned int firstBin_SR2 = 390;
|
|---|
| 36 |
|
|---|
| 37 | const static unsigned int nBins_SR3 = 17;
|
|---|
| 38 | const static unsigned int binsize_SR3 = 30;
|
|---|
| 39 | const static unsigned int firstBin_SR3 = 690;
|
|---|
| 40 |
|
|---|
| 41 | const static unsigned int nBins_SR4 = 20;
|
|---|
| 42 | const static unsigned int binsize_SR4 = 40;
|
|---|
| 43 | const static unsigned int firstBin_SR4 = 1200;
|
|---|
| 44 |
|
|---|
| 45 | JetCollection jetSelection(const EventFormat& event,const double &ptCut, const double &etaCut);
|
|---|
| 46 | TripletCollection pairSelection(const PairCollection &pairs, const double &asymmCut);
|
|---|
| 47 | TripletCollection deltaSelection(const TripletCollection &trips, const double &deltaCut);
|
|---|
| 48 | TripletCollection mds32Selection(const TripletCollection &trips, const double &mdsCut);
|
|---|
| 49 | TripletCollection GenMatchedTriplets(const EventFormat& event, const JetCollection &jetcoll);
|
|---|
| 50 | TripletCollection GenMatchedTriplets( const EventFormat& event, const TripletCollection &trips);
|
|---|
| 51 |
|
|---|
| 52 | PairCollection makePairCollection(const JetCollection &jetcoll);
|
|---|
| 53 |
|
|---|
| 54 | // kinematic variables
|
|---|
| 55 | MALorentzVector momentum(const Triplet &trip);
|
|---|
| 56 | double HT(const JetCollection &jetcoll);
|
|---|
| 57 | double mass(const Triplet &triplet);
|
|---|
| 58 | double dalitz32(const Triplet &triplet, const int &idx1, const int &idx2);
|
|---|
| 59 | double mds32(const Triplet &triplet);
|
|---|
| 60 | double dalitz6332(const JetCollection &jetcoll, const int &idx1, const int &idx2, const int &idx3);
|
|---|
| 61 | double mds6332(const JetCollection &jetcoll);
|
|---|
| 62 | double massAsymm(const TripletPair &pair);
|
|---|
| 63 | double delta(const Triplet &triplet);
|
|---|
| 64 | };
|
|---|
| 65 | }
|
|---|
| 66 |
|
|---|
| 67 | #endif
|
|---|