Skip to content

Commit

Permalink
Format change
Browse files Browse the repository at this point in the history
  • Loading branch information
ebrondol authored and andresailer committed Jun 2, 2020
1 parent b831aeb commit 363e01c
Show file tree
Hide file tree
Showing 3 changed files with 410 additions and 463 deletions.
48 changes: 23 additions & 25 deletions source/Refitting/include/ClonesAndSplitTracksFinder.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,39 +11,37 @@
#include <cfloat>

namespace MarlinTrk {
class IMarlinTrkSystem;
class IMarlinTrack;
class IMarlinTrkSystem;
class IMarlinTrack;
}

class ClonesAndSplitTracksFinder : public marlin::Processor {

public:
virtual marlin::Processor *newProcessor() { return new ClonesAndSplitTracksFinder; }
virtual marlin::Processor* newProcessor() { return new ClonesAndSplitTracksFinder; }

ClonesAndSplitTracksFinder();
ClonesAndSplitTracksFinder(const ClonesAndSplitTracksFinder &) = delete;
ClonesAndSplitTracksFinder &operator=(const ClonesAndSplitTracksFinder &) = delete;
ClonesAndSplitTracksFinder(const ClonesAndSplitTracksFinder&) = delete;
ClonesAndSplitTracksFinder& operator=(const ClonesAndSplitTracksFinder&) = delete;

// Initialisation - run at the beginning to start histograms, etc.
virtual void init();

// Called at the beginning of every run
virtual void processRunHeader(lcio::LCRunHeader *run);
virtual void processRunHeader(lcio::LCRunHeader* run);

// Run over each event - the main algorithm
virtual void processEvent(lcio::LCEvent *evt);
virtual void processEvent(lcio::LCEvent* evt);

// Run at the end of each event
virtual void check(lcio::LCEvent *evt);
virtual void check(lcio::LCEvent* evt);

// Called at the very end for cleanup, histogram saving, etc.
virtual void end();

protected:

// Checks for overlapping hits
int overlappingHits(const Track*, const Track*);

// Picks up the best track between two clones (based on chi2 and length requirements)
void bestInClones(Track*, Track*, int, Track*&);

Expand All @@ -54,43 +52,44 @@ class ClonesAndSplitTracksFinder : public marlin::Processor {
void mergeAndFit(Track*, Track*, Track*&);

// Removes doubles (from clone treatments and track merging) and filters multiple connections (clones and mergeable tracks treated differently)
void filterClonesAndMergedTracks(std::multimap<int,std::pair<int,Track*>>&, LCCollection*&, TrackVec&, bool);
void filterClonesAndMergedTracks(std::multimap<int, std::pair<int, Track*>>&, LCCollection*&, TrackVec&, bool);

// Contains the whole merging procedure (calls filterClonesAndMergedTracks(bool false) and mergeAndFit)
void mergeSplitTracks(std::unique_ptr<LCCollectionVec>&, LCCollection*&, EVENT::TrackVec&);

// Calculate significance in pt for two candidate clones
double calculateSignificancePt(const Track *, const Track *);
double calculateSignificancePt(const Track*, const Track*);

// Calculate significance in phi for two candidate clones
double calculateSignificancePhi(const Track *, const Track *);
double calculateSignificancePhi(const Track*, const Track*);

// Calculate significance in tanLambda for two candidate clones
double calculateSignificanceTanLambda(const Track *, const Track *);
double calculateSignificanceTanLambda(const Track*, const Track*);

// Calculate significance for two candidate clones
double calculateSignificance(const double firstPar, const double secondPar, const double firstPar_sigma, const double secondPar_sigma );
double calculateSignificance(const double firstPar, const double secondPar, const double firstPar_sigma,
const double secondPar_sigma);

// Contains the whole clone skimming procedure (calls bestInClones and filterClonesAndMergedTracks(bool true))
void removeClones(EVENT::TrackVec&, LCCollection*&);

lcio::LCCollection *GetCollection(lcio::LCEvent *evt, std::string colName);
lcio::LCCollection* GetCollection(lcio::LCEvent* evt, std::string colName);

std::string _input_track_col_name;
std::string _output_track_col_name;

MarlinTrk::IMarlinTrkSystem *_trksystem = nullptr;
MarlinTrk::IMarlinTrkSystem* _trksystem = nullptr;

int _n_run = -1;
int _n_evt = -1;

bool _MSOn = true;
bool _ElossOn = true;
bool _SmoothOn = false;
double _magneticField = 0.0;
bool _extrapolateForward = true;
bool _MSOn = true;
bool _ElossOn = true;
bool _SmoothOn = false;
double _magneticField = 0.0;
bool _extrapolateForward = true;

double _minPt = 1.0;
double _minPt = 1.0;
double _maxSignificanceTheta = 0.0, _maxSignificancePhi = 0.0, _maxSignificancePt = 0.0;

bool _mergeSplitTracks = false;
Expand All @@ -104,7 +103,6 @@ class ClonesAndSplitTracksFinder : public marlin::Processor {
double _maxChi2perHit;

std::shared_ptr<UTIL::BitField64> _encoder{};

};

#endif
Loading

0 comments on commit 363e01c

Please sign in to comment.