Back to home page

sPhenix code displayed by LXR

 
 

    


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{ //allow for setting of Energy Correlator type
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 ); //take input format, apply a filter threshold, output paired down version
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