Skip to content

Commit ca91c19

Browse files
Merge pull request #49 from clementhelsens/dev-branch
Dev branch
2 parents 14cc5f2 + 55ac373 commit ca91c19

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+253
-373
lines changed

FCCeeAnalyses/eeH/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

FCCeeAnalyses/eeH/analysis.cc

Lines changed: 0 additions & 85 deletions
This file was deleted.

FCCeeAnalyses/ttbar/analysis.py

Lines changed: 0 additions & 98 deletions
This file was deleted.

FCCeeAnalyses/ttbar/plots.py

Lines changed: 0 additions & 46 deletions
This file was deleted.

FCChhAnalyses/FCChh/HH_bbtautau/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

FCChhAnalyses/FCChh/HH_bbtautau/analysis.cc

Lines changed: 0 additions & 85 deletions
This file was deleted.

FCChhAnalyses/__init__.py

Whitespace-only changes.

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Each time changes are made in ```analyzers/dataframe/``` please re-compile!
4444

4545
Generalities
4646
============
47-
Each analysis is hosted in a single directory, for example ```FCCeeAnalyses/ZH_Zmumu/``` and contains the same kind of files, please use the same naming convention for all analysis.
47+
Each analysis is hosted in a single directory, for example ```examples/FCCee/higgs/mH-recoil/mumu/``` and contains the same kind of files, please use the same naming convention for all analysis.
4848

4949
1. ```analysis.py```: This class that is used to define the list of analysers and filters to run on as well as the output variables.
5050
2. ```preSel.py```: This configuration file is used to define how to run the ```analysis.py```. It contains the list of samples, the number of CPUs, the fraction of the original sample to process and the base directory for the yaml files (that contains the informations about the samples). This will run the ```analysis.py``` with a common code ```bin/runDataFrame.py``` (this last file is common to all analyses and should not be touched).
@@ -55,9 +55,9 @@ Pre-selection
5555
============
5656
The pre-selection runs over already existing and properly registered FCCSW EDM events. The dataset names with the corresponding statistics can be found [here](http://fcc-physics-events.web.cern.ch/fcc-physics-events/Delphesevents_fccee_v01.php). One important parameter is the fraction of the total dataset to run. It can be found in the ```preSel.py``` file by setting a value between ]0,1]. For example ```fraction=0.1``` will run over 10% of the statistics. Reading the files on ```eos```, and with 15 CPUs we observe processing speeds between 3000 and 10000 events per seconds depending on the number of files. Only run full statistics after having done all the proper testing and analysis design as it can take some time (that of course depends on the sample total statistics). To run the pre-selection of the ```ZH_Zmumu``` analysis, just run:
5757
```
58-
python FCCeeAnalyses/ZH_Zmumu/dataframe/preSel.py
58+
python examples/FCCee/higgs/mH-recoil/mumu/preSel.py
5959
```
60-
This will output 3 files in ```FCCee/ZH_Zmumu/``` following the parameter ```outdir``` in the ```preSel.py``` configuration file.
60+
This will output 3 files in ```outputs/FCCee/higgs/mH-recoil/mumu/``` following the parameter ```outdir``` in the ```preSel.py``` configuration file.
6161

6262

6363
Final selection
@@ -67,7 +67,7 @@ In the configuration file ```finalSel.py``` we define the various cuts to run on
6767
In this example it should run like:
6868

6969
```
70-
python FCCeeAnalyses/ZH_Zmumu/dataframe/finalSel.py
70+
python examples/FCCee/higgs/mH-recoil/mumu/finalSel.py
7171
```
7272

7373
This will create 2 files per selection ```SAMPLENAME_SELECTIONNAME.root``` for the ```TTree``` and ```SAMPLENAME_SELECTIONNAME_histo.root``` for the histograms. ```SAMPLENAME``` and ```SELECTIONNAME``` corresponds to the name of the sample and selection respectively in the configuration file.
@@ -77,7 +77,7 @@ Plotting
7777
The plotting configuration file ```plots.py``` contains informations about plotting details for plots rendering but also ways of combining samples for plotting.
7878
In this example just run like:
7979
```
80-
python bin/doPlots.py FCCeeAnalyses/ZH_Zmumu/dataframe/plots.py
80+
python bin/doPlots.py examples/FCCee/higgs/mH-recoil/mumu/plots.py
8181
```
8282

8383
This will produce the plots in the ```outdir``` defined in the configuration file.

analyzers/dataframe/Algorithm.cc

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,30 @@ float getAxisCharge::operator() (ROOT::VecOps::RVec<float> angle, ROOT::VecOps:
147147
}
148148
return result/norm;
149149
}
150+
151+
152+
153+
getAxisMass::getAxisMass(bool arg_pos) : m_pos(arg_pos) {};
154+
float getAxisMass::operator() (ROOT::VecOps::RVec<float> angle, ROOT::VecOps::RVec<float> energy, ROOT::VecOps::RVec<float> px, ROOT::VecOps::RVec<float> py, ROOT::VecOps::RVec<float> pz) {
155+
156+
TLorentzVector result;
157+
for (size_t i = 0; i < angle.size(); ++i) {
158+
TLorentzVector tmp;
159+
tmp.SetPxPyPzE(px.at(i), py.at(i), pz.at(i), energy.at(i));
160+
if (m_pos==1 && angle.at(i)>0.) result+=tmp;
161+
if (m_pos==0 && angle.at(i)<0.) result+=tmp;
162+
}
163+
return result.M();
164+
}
165+
166+
167+
float getMass(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in){
168+
TLorentzVector result;
169+
for (auto & p: in) {
170+
TLorentzVector tmp;
171+
tmp.SetPxPyPzE(p.momentum.x, p.momentum.y, p.momentum.z, p.energy);
172+
result+=tmp;
173+
}
174+
return result.M();
175+
}
176+

0 commit comments

Comments
 (0)