00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef TAUREC_TAUTRACKFILTERUTILS_H
00011 #define TAUREC_TAUTRACKFILTERUTILS_H
00012
00013 #include "TF1.h"
00014 #include "TLorentzVector.h"
00015 #include <vector>
00016 #include <iostream>
00017 #include <string>
00018
00019 namespace TauTrackFilterUtils {
00020
00021 struct TrackInfo{
00022 TLorentzVector p4;
00023 int charge;
00024 int index;
00025 };
00026
00027 struct TrackPair{
00028 float angle;
00029 float mass;
00030 int charge;
00031 };
00032
00033 bool pass3prong(std::vector<TauTrackFilterUtils::TrackInfo> combination,TLorentzVector tau);
00034 bool pass2prong(std::vector<TauTrackFilterUtils::TrackInfo> pair,TLorentzVector tau);
00035 bool pass1prong(TLorentzVector track,TLorentzVector tau);
00036 float ComputePi0Cone(int recProngs,TLorentzVector tau);
00037 float ComputeAngle(float p, float eta, float a[9][4], int npar, int npol, char eqn[] = (char*)"[0]*exp([1]*x)+[2]+[3]/(x*x)");
00038 float Compute1dim(float p, float a[10], int npar, char eqn[]);
00039
00040 }
00041
00042 #endif