File indexing completed on 2026-04-04 08:09:26
0001 #ifndef __ENCCALCULATOR_H__
0002 #define __ENCCALCULATOR_H__
0003
0004 class encCalculator
0005 {
0006 public :
0007 enum EnergyCorrelatorType{
0008 Energy,
0009 Momentum,
0010 Transverse,
0011 TransverseMomentum
0012 Track,
0013 SpinDependent,
0014 EventObservable
0015 };
0016 struct skimmedDataPoints{
0017 float threshold=0.1;
0018 std::vector<skimmedDataPoint> data_to_analyze;
0019 }
0020 struct skimmedDataPoints{
0021 float phi=0.;
0022 float eta=0.;
0023 float r=0.;
0024 float value=0.;
0025 }
0026
0027 encCaluclator();
0028 ~CalculateENC();
0029 void SkimDataSet(PHCompositeNode* RawTopNode, skimmedDataPoints* outputdata, float threshold=0.1 );
0030 void setENCParameters(float order1=2, EnergyCorrelatorType enctype=EnergyCorrelatorType::Energy, bool full=false){
0031
0032 this->order=order1;
0033 this->typeofenc=enctype;
0034 this->fullshape=full;
0035 }
0036 private :
0037 int order=2;
0038 bool fullshape=false;
0039 int typeofenc=EnergyCorrelatorType::Energy;
0040 std::pair<float, float> CalcuateTwoPoint();
0041 };
0042 #endif