BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
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
13R__ADD_INCLUDE_PATH($VMCWORKDIR)
14#include "macro/run/bmnloadlibs.C"
15
16using namespace std;
17
18BmnStatus 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
38BmnStatus 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 Bool_t
int Int_t
constexpr Bool_t kFALSE
#define R__ADD_INCLUDE_PATH(PATH)
BmnStatus
Define status code.
Definition BmnEnums.h:93
@ kBMNERROR
Error.
Definition BmnEnums.h:95
@ kBMNSUCCESS
Success.
Definition BmnEnums.h:94
BmnEmbedding - operational class for digit level embedding procedure.
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)
T * Get(const char *namecycle)
virtual Bool_t IsOpen() const
void Close(Option_t *option="") override
const char * Data() const
virtual TBranch * GetBranch(const char *name)
Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const override
virtual TObjArray * GetListOfBranches()
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
BmnStatus RemoveBranches(TString fileName, vector< TString > branchNames)
Definition Embed.C:18
Definition json.hpp:4446