Closed Payal7890 closed 4 months ago
Hi @Payal7890 ,
(I put the code you pasted above into triple-backtick code block for better readability)
Comparing your code and the plot, nothing looks wrong to me per-se. If you expected a larger fraction of low pt muons w.r.t. high pt ones, I would suggest to add an interactive debugger / shell with from IPython import embed; embed(header="debugging muon cuts")
, right below the line in which you define your muon_mask
variable, and check with ak.mean(muon_mask_{low,high}_pt)
of the acceptance rates match your expectation.
Side note, are you sure the trigger selection for the high pt muons is correct? Right now, if either of the TkMu100
or OldMu100
triggers is missing in NanoAOD, the trigger selection is succeeds, independent of the Mu50
trigger decision.
Second site note, could you please add the plot to (e.g.) CERNbox, attach the proper cms-access permissions to it, and then share the link? I'm not sure about the publication status of your work, but in general we would like to avoid having potentially unreviewed plots with data in openly accessible areas.
Hello, thank you very much for your response. Our trigger selection in the high pT regime is just the trigger OR of Mu50, OldMu100 and TkMu100. For the run2_2017, some of the trigger paths (OldMu100 and TkMu100) are missing in some datasets. So, for those datasets (where trigger paths seem to be missing), our events should pass Mu50 trigger only. That's what I was trying to implement. How should I do that?
The construct
events.HLT.Mu50 | getattr(events.HLT, "SOME_MISSING_TRIGGER", True)
will always evaluate to True
when SOME_MISSING_TRIGGER
is in fact missing, independent of the Mu50
trigger. I'm pretty sure that's not what you want, and a simple switch to False
for the default value in getattr
should do the trick.
I closed the issue since it seems to be purely analysis related. Feel free to reopen in case you observe an issue in columnflow though :)
Hello, thank you very much for your response. However, I am going through another issue. Right now I am running something using mttbar repository (https://github.com/uhh-cms/mttbar/blob/master/mtt/config/config_2017.py). Every time I submit a job, the framework is complaining about not finding the path to this: FileNotFoundError: [Errno 2] No such file or directory: '/var/lib/condor/execute/dir_76622/job_cYcGKGzo0bMf/repo/data/json/l1_prefiring.json'
But the file exists here: /nfs/dust/cms/user/payalroy/mttbar/data/json/l1_prefiring.json
I added the path specifically to the script, even after that getting the same error message: /nfs/dust/cms/user/payalroy/mttbar/mtt/selection/lepton.py
What would be the next way out to solve this? Here is the link to a output log file: /nfs/dust/cms/user/payalroy/mttbar/data/mtt_store/analysis_mtt/cf.CalibrateEvents/run2_2017_nano_v9/tt_dl_powheg/nominal/calib__skip_jecunc/v4/stdall_0To1.txt
Not sure, why the path is messed up.
I am seeking a bit of help. Currently I am working on the repository: https://gitlab.cern.ch/dsavoiu/mttbar_trigger_study. So I am attaching my script here. In the analysis muon is coming from the decay t-> b+W-> muon + neutrino + bjets. We are expecting to see a peak at around 41 GeV in the muon pT distribution. Whatever we are seeing is weird. Could this be a problem of the normalisation of MC? It would be of great help if I can get any lead. This is apparent that merging is not happening properly.
edit by riga: removed image