BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
Embed.C
Go to the documentation of this file.
1
#include "../../bmndata/BmnCSCHit.h"
2
#include "../../bmndata/BmnEnums.h"
3
#include "../../bmndata/BmnGemStripHit.h"
4
#include "../../bmndata/BmnSiliconHit.h"
5
6
#include <root/TClass.h>
7
#include <root/TClonesArray.h>
8
#include <root/TFile.h>
9
#include <root/TString.h>
10
#include <root/TTree.h>
11
#include <vector>
12
13
R__ADD_INCLUDE_PATH
($VMCWORKDIR)
14
#include "macro/run/bmnloadlibs.C"
15
16
using namespace
std
;
17
18
BmnStatus
RemoveBranches
(
TString
fileName, vector<TString> branchNames)
19
{
20
TFile
* fBaseHits =
new
TFile
(fileName,
"UPDATE"
);
21
if
(fBaseHits->
IsOpen
() ==
false
) {
22
printf(
"\n!!!!\ncannot open file %s !\n"
, fileName.
Data
());
23
return
kBMNERROR
;
24
}
25
TTree
* t = (
TTree
*)fBaseHits->
Get
(
"bmndata"
);
26
TObjArray
* list = t->
GetListOfBranches
();
27
for
(
auto
& el : branchNames) {
28
printf(
"Removing %s\n"
, el.Data());
29
TBranch
* b = t->
GetBranch
(el.Data());
30
list->Remove(b);
31
t->
Write
();
32
break
;
33
}
34
fBaseHits->
Close
();
35
return
kBMNSUCCESS
;
36
}
37
38
BmnStatus
Embed
(
TString
inSourceName =
"eve-4649-isAll.root"
,
39
TString
inBaseName =
"bmn_run4649_digi.root"
,
40
TString
outHitsName =
"merged-digi.root"
,
41
Int_t
code = 3122,
42
vector<Int_t> outCodes = {2212, -211},
43
Bool_t
turnOffBaseDigits =
kFALSE
)
44
{
45
46
BmnEmbedding
* rt =
new
BmnEmbedding
();
47
rt->
Embed
(inSourceName, inBaseName, outHitsName, code, outCodes, turnOffBaseDigits);
48
delete
rt;
49
return
kBMNSUCCESS
;
50
}
Bool_t
bool Bool_t
Int_t
int Int_t
kFALSE
constexpr Bool_t kFALSE
R__ADD_INCLUDE_PATH
#define R__ADD_INCLUDE_PATH(PATH)
BmnStatus
BmnStatus
Define status code.
Definition
BmnEnums.h:93
kBMNERROR
@ kBMNERROR
Error.
Definition
BmnEnums.h:95
kBMNSUCCESS
@ kBMNSUCCESS
Success.
Definition
BmnEnums.h:94
BmnEmbedding
BmnEmbedding - operational class for digit level embedding procedure.
Definition
BmnEmbedding.h:40
BmnEmbedding::Embed
BmnStatus Embed(TString inSourceName="eve-lam-box.root", TString inBaseName="evetest-p.root", TString destName="merged-digi.root", Int_t code=3122, vector< Int_t > outCodes={2212, -211}, Bool_t turnOffBaseDigits=kFALSE)
Definition
BmnEmbedding.cxx:5
TBranch
TDirectoryFile::Get
T * Get(const char *namecycle)
TFile
TFile::IsOpen
virtual Bool_t IsOpen() const
TFile::Close
void Close(Option_t *option="") override
TObjArray
TString
TString::Data
const char * Data() const
TTree
TTree::GetBranch
virtual TBranch * GetBranch(const char *name)
TTree::Write
Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const override
TTree::GetListOfBranches
virtual TObjArray * GetListOfBranches()
Embed
BmnStatus Embed(TString inSourceName="eve-4649-isAll.root", TString inBaseName="bmn_run4649_digi.root", TString outHitsName="merged-digi.root", Int_t code=3122, vector< Int_t > outCodes={2212, -211}, Bool_t turnOffBaseDigits=kFALSE)
Definition
Embed.C:38
RemoveBranches
BmnStatus RemoveBranches(TString fileName, vector< TString > branchNames)
Definition
Embed.C:18
std
Definition
json.hpp:4446
install
macro
recotools
Embed.C
Generated on
for BmnRoot by
1.17.0