00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef DEFAULTINTERACTIVEACTIONS_H
00012 #define DEFAULTINTERACTIVEACTIONS_H
00013
00014 #include "AlephCollection.h"
00015 #include <vector>
00016 #include "AlphaBanks.h"
00017 #include "AlephAbstractInteractiveFunction.h"
00018 #include "TimeInfo.h"
00019 #include "AlephIoManager.h"
00020
00021
00022
00023 class GeneralEventInfo: public AlephAbstractInteractiveFunction
00024 {
00025 public:
00026 GeneralEventInfo(AlephInteractiveHandler* ptr):AlephAbstractInteractiveFunction(ptr) {}
00027 ~GeneralEventInfo() {}
00028 string Name() {return "GeneralEventInfo";}
00029 int Code() {return 100;}
00030 vector<pair<string,float> > OptionsList()
00031 { pair<string,float> option;
00032 option.first = "Apply preselection";
00033 option.second = 1.;
00034 vector<pair<string,float> > result;
00035 result.push_back(option);
00036 return result;
00037 }
00038 void Run(vector<float>& options,AlphaBanks& EventInfo);
00039 };
00040
00041
00042
00043 class CollectTracks: public AlephAbstractInteractiveFunction
00044 {
00045 public:
00046 CollectTracks(AlephInteractiveHandler* ptr):AlephAbstractInteractiveFunction(ptr) {}
00047 ~CollectTracks() {}
00048 string Name() {return "CollectTracks";}
00049 int Code() {return 200;}
00050 vector<pair<string,float> > OptionsList()
00051 { pair<string,float> option;
00052 vector<pair<string,float> > result;
00053 option.first = "type";
00054 option.second = 0;
00055 result.push_back(option);
00056 option.first = "energy cut";
00057 option.second = 10;
00058 result.push_back(option);
00059 option.first = "cos theta cut";
00060 option.second = 0.95;
00061 result.push_back(option);
00062 option.first = "sanity check";
00063 option.second = 0;
00064 result.push_back(option);
00065 return result;
00066 }
00067 void Run(vector<float>& options,AlphaBanks& EventInfo);
00068 };
00069
00070 class CollectLeptons: public AlephAbstractInteractiveFunction
00071 {
00072 public:
00073 CollectLeptons(AlephInteractiveHandler* ptr):AlephAbstractInteractiveFunction(ptr) {}
00074 ~CollectLeptons() {}
00075 string Name() {return "CollectLeptons";}
00076 int Code() {return 300;}
00077 vector<pair<string,float> > OptionsList()
00078 { pair<string,float> option;
00079 vector<pair<string,float> > result;
00080 option.first = "mask";
00081 option.second = 0;
00082 result.push_back(option);
00083 return result;
00084 }
00085 void Run(vector<float>& options,AlphaBanks& EventInfo);
00086 };
00087
00088 class CollectJets: public AlephAbstractInteractiveFunction
00089 {
00090 public:
00091 CollectJets(AlephInteractiveHandler* ptr):AlephAbstractInteractiveFunction(ptr) {}
00092 ~CollectJets() {}
00093 string Name() {return "CollectJets";}
00094 int Code() {return 400;}
00095 vector<pair<string,float> > OptionsList()
00096 { pair<string,float> option;
00097 vector<pair<string,float> > result;
00098 option.first = "metric";
00099 option.second = 1;
00100 result.push_back(option);
00101 option.first = "scheme";
00102 option.second = 1;
00103 result.push_back(option);
00104 option.first = "ycut";
00105 option.second = -2;
00106 result.push_back(option);
00107 option.first = "energy scale";
00108 option.second = 0;
00109 result.push_back(option);
00110 return result;
00111 }
00112 void Run(vector<float>& options,AlphaBanks& EventInfo);
00113 };
00114
00115 #endif